C#에서 삼항 연산자(Ternary Operator)는 조건부 연산자(Conditional Operator)라고도 불리며, 세 개의 피연산자를 받아 불리언(Boolean) 표현식을 평가하는 연산자입니다. 간단한 if-else 문을 한 줄로 대체할 수 있어 코드를 훨씬 간결하게 작성할 수 있다는 장점이 있습니다.
기본 사용 형태는 다음과 같습니다.
y = (x == 1) ? 70 : 100;
위 코드의 동작 방식을 살펴보면 다음과 같습니다.
- 첫 번째 피연산자(x == 1)가 참(true)으로 평가되면 두 번째 피연산자(70)가 결과값이 됩니다.
- 첫 번째 피연산자가 거짓(false)으로 평가되면 세 번째 피연산자(100)가 결과값이 됩니다.
그럼 실제 예제를 통해 삼항 연산자의 동작을 확인해 보겠습니다.
예제
using System;
namespace DEMO {
class Program {
static void Main(string[] args) {
int a, b;
a = 10;
b = (a == 1) ? 20 : 30;
Console.WriteLine("Value of b is {0}", b);
b = (a == 10) ? 20 : 30;
Console.WriteLine("Value of b is {0}", b);
Console.ReadLine();
}
}
}실행 결과
Value of b is 30 Value of b is 20
실행 결과를 해석해 보면, 변수 a에는 10이 저장되어 있습니다. 첫 번째 조건식 (a == 1)은 a가 10이므로 거짓이 되어 세 번째 값인 30이 b에 할당됩니다. 반면 두 번째 조건식 (a == 10)은 참이 되므로 두 번째 값인 20이 b에 할당되는 것입니다.
이처럼 삼항 연산자는 조건에 따라 서로 다른 값을 변수에 빠르게 할당해야 할 때 유용하게 활용할 수 있습니다.