可以将其转换为:
int x = 1;
string xString;
switch (x)
{
case 1:
xString = "1";
break;
case 2:
xString = "2";
break;
default:
xString = "default";
break;
}
Console.WriteLine(xString);
到这个:
int x = 1;
string xString = x switch
{
1 => "1",
2 => "2",
_ => "default",
};
Console.WriteLine(xString);
但是在多个案例中不为每个案例创建lambda行的情况下将xString的值设置为相同值的语法是什么?
int x = 1;
string xString;
switch (x)
{
case 1:
xString = "1";
break;
case 2:
case 4:
xString = "even numbers";
break;
default:
xString = "default";
break;
}
Console.WriteLine(xString);
您也可以在此处将when
子句与switch语句一起使用
switch (x)
{
case 1:
xString = "1";
break;
case var _ when x % 2 == 0:
xString = "even numbers";
break;
default:
xString = "default";
break;
}
使用C#8switch
表达式并丢弃它可能更简单
var xString = x switch
{
1 => "1",
_ when x % 2 == 0 => "even numbers",
_ => "default"
};
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句