반응형
물음표 연산자는 if-else 조건문을 매우 간단하게 한 줄로 줄여줄 수 있는 연산자이다. 아래 if-else 조건문을 이용한 코드와 물음표 연산자를 이용한 코드를 작성해 보았다. 0~100 사이에 임의의 정수를 2로 나눈 나머지가 0이면 true, 아닐 경우 false를 변수에 지정하는 코드이다.
- if-else 조건문을 이용한 코드
12345678System.Random rnd = new rnd();int value = rnd(0,100);bool result;if(value % 2 == 0){ result = true; }else{ result = false; }c - 물음표 연산자를 이용한 코드
1234System.Random rnd = new rnd();int value = rnd(0,100);bool result = value % 2 == 0 ? true : false;cs
1번에 작성된 코드에 비해 2번에 작성된 코드는 한 줄로 표현되기 때문에 물음표 연산자를 알고 있다면 매우 간단하게 작성될 수 있는 코드이다. 물음표 연산자는 아래의 그림과 같이 세 가지 파트로 나눠질 수 있다. 우선 입력받을 변수명을 작성한 뒤 조건식을 작성한다. 이후에 조건식과 전달할 값 사이에 물음표(?)를 입력하고 해당 조건이 참일 경우 출력되는 값을 왼쪽에, 거짓일 경우 출력되는 값을 오른쪽에 적으면 된다.
아래와 같이 메서드 호출을 통해 값을 입력할 수도 있으니 참고.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
private void Sample()
{
Random rnd = new Random();
int d1 = rnd.Next(0, 100);
int d2 = rnd.Next(0, 100);
int d3 = d1 < d2 ? add(d1, d2) : minus(d1, d2);
}
private int add(int a, int b)
{
return a + b;
}
private int minus(int a, int b)
{
return a - b;
}
|
cs |
지금까지 사용하면서 생각해본 물음표 연산자의 단점은 아래와 같다.
- 반드시 return 값을 받아야 한다(위 코드의 d3 같이).
- void로 return되는 메서드를 물음표 연산자를 통해 조건문을 진행할 수 없다.
- 3가지 이상의 조건문으로 작성해야 할 경우 물음표 연산자를 사용할 수 없다.
위 조건에 걸리지 않는 간단한 if-else 조건문을 사용한다면 물음표 연산자가 매우 유용할 것이다. 끝!
반응형
'프로그래밍 언어 > C#' 카테고리의 다른 글
[C#] WinForm 의 모든 컨트롤 가져오기 (0) | 2022.01.07 |
---|---|
[C#] 문자열 자르기(Substring, Split) (2) | 2021.04.20 |
[C#] 이미지 투명화(배경제거) - #2 (0) | 2021.04.14 |
[C#] 이미지 투명화(배경제거) - #1 (0) | 2021.04.13 |
[C#] OpenFileDialog를 이용하여 파일 불러오기 (0) | 2021.04.13 |
댓글