C# Switch
C# Switch
💫 머리말
💫 구현
🫧 Switch Statement
1
2
3
4
5
6
7
8
9
10
11
12
13
int number = 2;
switch (number)
{
case 1:
Console.WriteLine("Number is 1");
break;
case 2:
Console.WriteLine("Number is 2");
break;
default:
Console.WriteLine("Number is not 1 or 2");
break;
}
🫧 Switch PatternMatching
1
2
3
4
5
6
7
8
9
10
11
12
13
14
object obj = 1;
switch (obj)
{
case int i when i > 0 or i < 10:
Console.WriteLine($"Integer: {i}");
break;
case string s:
Console.WriteLine($"String: {s}");
break;
default:
Console.WriteLine("Unknown type");
break;
}
🫧 Switch Expression
1
2
3
4
5
6
7
8
int number = 5;
int result = number switch
{
1 => 10,
2 => 20,
_ when number > 0 => 30,
_ => 0
};
🫧 활용
1
2
3
4
5
6
7
8
9
int x = 1;
int y = 2;
int z = 3;
int result = (x, y) switch
{
(1, 2) => 10,
(2, 3) => 20,
_ => 0
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var obj = new { Name = "Kururu", Age = 20 };
switch (obj)
{
case { Name: "Kururu", Age: 20 }:
Console.WriteLine("Matched Kururu, 20");
break;
case { Name: "Kururu" }:
Console.WriteLine("Matched Kururu");
break;
default:
Console.WriteLine("No match");
break;
}
var result = obj switch
{
{ Name: "Kururu", Age: 20 } => "Matched Kururu, 20",
{ Name: "Kururu", Age: > 20 } => "Matched Kururu, Age > 20",
{ Name: "Kururu" } => "Matched Kururu",
_ => "No match",
};
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.