Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# 삼항 연산자(?:) 개념과 사용법, 실전 예제까지 한눈에

C#의 삼항 연산자(Ternary Operator)는 조건 연산자(Conditional Operator)라고도 불리며, 세 개의 피연산자를 받아 불리언(Boolean) 표현식을 평가한 뒤 그 결과에 따라 두 값 중 하나를 반환하는 연산자입니다. 간단한 조건 분기를 if-else 문보다 짧고 깔끔하게 작성할 수 있어 코드의 가독성을 높이는 데 유용합니다.

삼항 연산자의 기본 구조

삼항 연산자는 다음과 같은 형태로 작성합니다.

b = (a == 1) ? 20 : 30;

동작 방식은 다음과 같습니다.

  • 첫 번째 피연산자인 조건식이 true(참)로 평가되면, 두 번째 피연산자인 20이 반환됩니다.
  • 조건식이 false(거짓)로 평가되면, 세 번째 피연산자인 30이 반환됩니다.

삼항 연산자 사용 예제

아래 예제에서는 변수 a의 값에 따라 삼항 연산자가 어떻게 동작하는지 확인할 수 있습니다.

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

결과 해석

  • 첫 번째 실행에서 a10이므로 (a == 1)은 false입니다. 따라서 세 번째 값인 30b에 대입되어 "Value of b is 30"이 출력됩니다.
  • 두 번째 실행에서 (a == 10)은 true입니다. 따라서 두 번째 값인 20b에 대입되어 "Value of b is 20"이 출력됩니다.

삼항 연산자 활용 시 주의사항

삼항 연산자는 간단한 조건 분기에 적합하지만, 여러 조건을 중첩하면 오히려 가독성이 떨어질 수 있습니다. 복잡한 로직에는 일반적인 if-else 문을 사용하고, 단순히 두 값 중 하나를 선택하는 경우에만 삼항 연산자를 사용하는 것이 좋습니다. 또한 삼항 연산자는 식(expression)이므로 메서드 호출 결과나 문자열 보간 등 다양한 곳에서 값으로 바로 활용할 수 있다는 장점도 있습니다.