중요한 C# 주제

C#의 패턴 매칭(pattern matching)

이 레슨에서는 패턴을 쓰는 switch 식으로 데이터의 타입과 값을 깔끔하고 안전하게 확인합니다.

소개

패턴 매칭(pattern matching)을 쓰면 하나의 식 안에서 값의 타입을 확인하고, 조건을 검사하고, 데이터를 꺼내 바로 쓸 수 있습니다. 타입을 확인한 다음 직접 변환하는, 길고 실수하기 쉬운 코드를 대신합니다.

Describe 함수의 switch 식은 패턴을 차례로 확인합니다. 데이터가 없으면 null, 양의 정수는 int number when number > 0, 비어 있지 않은 문자열은 string { Length: > 0 }, 그 밖의 경우는 _입니다. 값이 12이면 양의 정수 패턴에 해당하며 결과는 positive 12입니다.

동작 원리 보기

슬라이더로 요일을 바꿔 보세요. 프로그램은 일치하는 case로 바로 이동하고, 일치하는 것이 없으면 default로 갑니다.

실행 가능한 C# 예제

C#
코드 실행 →
Program.cs
using System;

class Program
{
    static string Describe(object? value) => value switch
    {
        null => "missing",
        int number when number > 0 => $"positive {number}",
        string { Length: > 0 } text => $"text: {text}",
        _ => "other"
    };

    static void Main() => Console.WriteLine(Describe(12));
}
실행 결과
positive 12

디버거로 연습하기

중요한 대입이나 조건에 중단점을 두고 Debug를 눌러 다음 줄로 넘어가기 전에 지역 변수 값을 확인하세요.

챌린지로 연습하기

이 레슨에서 배운 내용으로 실제 문제를 풀어 보세요. 모든 챌린지는 브라우저에서 실행되며 즉시 테스트와 AI 리뷰를 받을 수 있습니다.

모든 챌린지