- 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 |