English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C#은 결정 연산자를 포함합니다 ? :또는 삼항 연산자로 불립니다. 이는 if입니다-else 조건의 약칭.
문법:
condition ? 문장 1 : 문장 2
삼항 연산자는 부울 조건으로 시작합니다. condition의 값이 true라면, ? 다음의 문장이 실행됩니다. 1 문장, 그렇지 않으면 : 다음의 두 번째 문장이 실행됩니다.
다음 예제는 삼항 연산자를 보여줍니다.
int x = 20, y = 10; var result = x > y ? "x가 y보다 큽니다" : "x가 y보다 작습니다"; Console.WriteLine(result);
x가 y보다 큽니다
위의 조건 표현식 x > y는 true를 반환하므로 ? 다음의 첫 번째 문장이 실행됩니다.
다음 문장은 두 번째 문장을 실행합니다.
int x = 10, y = 100; var result = x > y ? "x가 y보다 큽니다" : "x가 y보다 작습니다"; Console.WriteLine(result);
x가 y보다 작습니다
따라서, 삼항 연산자는 if else 문의 약칭입니다. 위의 예제는 다음과 같이 if else 조건으로 다시 작성할 수 있습니다.
int x = 10, y = 100; if (x > y){ Console.WriteLine("x가 y보다 큽니다"); }else{ Console.WriteLine("x가 y보다 작습니다"); }
x가 y보다 큽니다
내부 삼항 연산자는 조건 표현식을 두 번째 문장으로 사용하여 구현됩니다.
int x = 10, y = 100; string result = x > y ? "x大于y": ; x < y ? "x는 y보다 작습니다" : x == y ? "x와 y가 같습니다" : "결과가 없습니다"; Console.WriteLine(result);
삼항 연산자는 오른쪽 연관성을 가집니다. 표현식 a ? b : c ? d : e의 계산 결과는 a ? b : (c ? d : e)입니다. 그러나 (a ? b : c) ? d : e가 아닙니다.
var x = 2, y = 10; var result = x * 3 > y ? x : y > z? y : z; Console.WriteLine(result);