• C# 7.0에 패턴 매칭을 도입했고, 지금까지도 꾸준히 업그레이드 하고 있다.

 

그럼 패턴 매칭이란 무엇인가 ?

어떤 식이 특정 패턴과 일치하는지 검사

 

패턴 매칭을 이용하면 장황하고 거추장스러운 분기문을 간결하고 일긱 쉬운 코드로 대체할 수 있다.

 

식 이란?

코드에서 단일 결과값을 만들어낼 수 있는 연산자와 연산자의 조합

선언 패턴

  • 주어진 식이 특정 형식과 일치하는지 평가
    • 만약 주어진 식과 형식이 일치한다면 선언 패턴은 식을 해당 형식으로 변환함
if(변수 is int A)
{
	Console.WriteLine(A);
}

형식 패턴

  • 변수 생성 없이 일치 여부만 테스트함
if(변수 is int)
{
	Console.WriteLine(변수);
}

상수 패턴

  • 식이 특정 상수와 일치하는지 검사하며, 가장 많이 사용하는 패턴
  • 정수 리터럴과 문자 리터럴뿐 아니라 null과 enum 등 모든 상수와 매칭할 수 있다.

프로퍼티 패턴

  • 식의 속성이나 필드가 패턴과 일치하는지 검사

관계 패턴

  • >,>=,==,!=,<,<= 와 같은 연산자를 이용하여 입력받은 식을 상수와 비교

논리 패턴

  • 패턴과 패턴을 패턴 논리 연산자 ( and , or , not ) 을 조합해서 하나의 논리 패턴으로 만듬

괄호 패턴

  • 소괄호 ()로 패턴을 감싸 여러 패턴을 조합한 뒤 새로운 패턴으로 만듬
if(변수 is (int and > 19))
	Console.WriteLine(변수);

위치 패턴

  • 식의 결과를 분해하고 분해된 값들이 내장된 복수의 패턴과 일치하는지를 검사

var 패턴

  • null을 포함한 모든 식의 패턴 매칭을 성공시키고, 그 식의 결과를 변수에 할당

무시 패턴

  • var 패턴처럼 모든 식과의 패턴 일치 검사를 성공시키지만, is 식에서는 사용할 수 없다.

목록 패턴

  • 배열이나 리스트가 패턴의 시퀀스가 일치하는지 검사

 

'개인 공부 > C#' 카테고리의 다른 글

대리자와 이벤트, 람다식  (1) 2024.12.14
CLR  (0) 2024.11.11

+ Recent posts