C# 7.0과 8.0 에서 switch의 활용성이 꽤 높아졌는데,
대부분은 기본 siwtch 로도 충분하지만 추가된 기능들을 이용하면 좀 더 간결하고 명시적으로 사용할 수 있다.
1. 기본 방법
string DebugGetColor2(int n)
{
int k = n % 4;
switch (k)
{
case 0: return "red";
case 1: return "yellow";
case 2: return "blue";
case 3: return "green";
default: return "white";
};
}
2. C# 8.0 의 switch식
string DebugGetColor2(int n)
{
int k = n % 4;
return k switch
{
0 => "red",
1 => "yellow",
2 => "blue",
3 => "green",
_ => "white",
};
}
3. C# 7.0의 패턴 일치 (when 절)
string DebugGetColor(int k)
{
switch(k)
{
case int _ when k % 4 == 0: return "red";
case int _ when k % 4 == 1: return "yellow";
case int _ when k % 4 == 2: return "blue";
case int _ when k % 4 == 3: return "green";
default: return "white";
}
};
4. switch 식 + when 절
string DebugGetColor2(int k) => k switch
{
int _ when k % 4 == 0 => "red",
int _ when k % 4 == 1 => "yellow",
int _ when k % 4 == 2 => "blue",
int _ when k % 4 == 3 => "green",
_ => "white",
};
'🌍 C# Study > C# 케이스 스터디' 카테고리의 다른 글
C# 특정 문자열 삭제, 특정 문자열 교체 Regex.Replace (0) | 2022.12.20 |
---|---|
Float.Parse not in a correct format 문화권 문제 (2) | 2021.11.21 |
C# eventHandler 중복, Action 중복 방지 하기 (0) | 2021.09.26 |
C# string to enum (string 값 enum으로 변환하기) System.Enum.Parse (0) | 2021.09.21 |
C# 인스턴스 초기화 순서 정리 (0) | 2021.05.09 |