본문 바로가기

C# 문법

[C#] 7.0 패턴 일치

패턴 일치

  • 패턴 일치는 is 식과 switch 식을 지원합니다. 각 식을 통해 개체 및 관련 속성을 검사하여 해당 개체가 검색된 패턴을 충족하는지 확인 할 수 있습니다.

is 패턴

    object[] obj = { (int)33, null, "Yangbeng" };
    foreach(var singleObj in obj)
    {
        // obj is int  cnt => obj가 int 형식이 맞다면 cnt 라는 int 변수를 생성해서 그곳에 값을 넣는다.
        if (singleObj is int cnt)
            Console.Write(cnt);
    }

결과

33

switch 패턴

  • 변수형 타입에 따라 입력된 값을 분류할 수 있습니다.
    object[] obj = { (int)33, null, "Yangbeng" };
    foreach(var singleObj in obj)
    {
        switch(singleObj)
        {
            case int n: 
                Console.WriteLine($"숫자 : {n}");
                break;
            case null:
                Console.WriteLine("Skip");
                break;
            case string str:
                Console.WriteLine($"문자열 : {str}");
                break;
        }
    }

결과

숫자 : 33
Skip
문자열 : Yangbeng

'C# 문법' 카테고리의 다른 글

[C#] 7.0 로컬 함수  (0) 2022.01.16
[C#] 7.0 튜플(Tuple)  (0) 2022.01.15
[C#] 명명된 매개변수, 선택적 매개변수  (0) 2022.01.13
[C#] DataTable 중복 데이터 제거  (0) 2022.01.12
[C#] Property를 LINQ방식으로 표현  (0) 2022.01.09