C#제어 흐름

pattern matching 기본

타입 검사와 값 분기를 더 읽기 좋게 정리할 수 있는 C# 패턴 매칭 기본 문법입니다.

마지막 수정 2026년 3월 16일

기본 패턴

csharp
if (input is string text)
{
    Console.WriteLine(text.Length);
}

string result = score switch
{
    >= 90 => "A",
    >= 80 => "B",
    _ => "C"
};

설명

  • is 패턴은 타입 확인과 변수 선언을 한 번에 처리합니다.
  • switch 표현식과 함께 쓰면 분기 로직이 훨씬 짧아집니다.
  • null 검사, 범위 검사, 타입별 분기에서 특히 자주 보입니다.

짧은 예제

csharp
if (user is { Name: "Mina", Level: >= 10 })
{
    Console.WriteLine("Admin candidate");
}

빠른 정리

패턴의미
is string text타입 확인 후 변수 생성
>= 90범위 기반 패턴
{ Name: "Mina" }속성 패턴

주의할 점

조건이 너무 많아질 때는 패턴 매칭이 강력하지만, 한 식에 너무 많은 규칙을 넣으면 오히려 읽기 어려워질 수 있습니다.