C# 9.0부터 스위치 표현식에 부등식 기호를 사용할 수 있으며 and, or, not과 같은 논리 연산이 허용되지 않습니다.
먼저 부등호를 사용한 예입니다. _(밑줄)은 기본값을 의미합니다.
static char GetResult(int score)
{
char result = score switch
{
>= 90 => 'A',
>= 80 => 'B',
>= 70 => 'C',
>= 60 => 'D',
_ => 'F'
};
return result;
}
이것은 Nolly 작업의 예입니다.
static int GetResult(int grade)
{
int result = grade switch
{
0 or 1 => 10,
> 1 and < 10 => 20,
not 100 => 30,
_ => 40
};
return result;
}
위 문장 분석
0.1이면 10
1에서 10 사이인 경우 20
100이 아니면 30
마지막 _은 모든 조건이 아닙니다 40 (40은 100일때만 나온다)
보지마.
또한 이전에는 타입을 비교할 때만 이었지만 이제는 아래와 같이 사용할 수 있습니다.
if (value is not TestClass)
{
}