패턴 일치
- 패턴 일치는 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