스위치식(switch expression)은 C# 8.0에서 도입된 새로운 문법이다. 기존의 switch 문보다 간결하고 읽기 쉬운 코드를 작성할 수 있다. 스위치식은 표현식이기 때문에 값으로 평가된다. 이는 변수에 할당되거나 반환값으로 사용 가능하다.
string GetDayName(int dayOfWeek)
{
string dayName;
switch (dayOfWeek)
{
case 0:
dayName = "Sunday";
break;
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
default:
dayName = "Unknown";
break;
}
return dayName;
}
string GetDayName(int dayOfWeek) =>
dayOfWeek switch
{
0 => "Sunday",
1 => "Monday",
2 => "Tuesday",
_ => "Unknown"
};
_ => "Unknown"는 default와 유사하게 동작하는 문법이며, 어떤 case에도 해당하지 않을 경우 이 값을 반환한다.