C#제어 흐름

switch expression

조건 분기를 값으로 바로 반환하고 싶을 때 유용한 C# switch expression 기본 패턴입니다.

마지막 수정 2026년 3월 15일

기본 패턴

csharp
string label = state switch
{
    GameState.Ready => "Ready",
    GameState.Playing => "Playing",
    GameState.Paused => "Paused",
    _ => "Unknown"
};

설명

  • 값을 분기해서 바로 반환하고 싶을 때
  • 길고 반복적인 if-else 체인을 줄이고 싶을 때
  • enum이나 패턴 매칭과 함께 깔끔하게 쓰고 싶을 때

빠른 정리

방식특징
if / else자유도는 높지만 길어지기 쉽습니다.
switch statement여러 케이스 처리에 익숙한 형태입니다.
switch expression값을 반환하는 흐름에 특히 깔끔합니다.

주의할 점

모든 경우를 다루지 않으면 _ 기본 패턴이 필요합니다. 누락하면 예외가 발생할 수 있습니다.