如何使用>;=在C#开关表达式的左侧?
我有这个枚举:如何使用>;=在C#开关表达式的左侧?,c#,c#-8.0,C#,C# 8.0,我有这个枚举: public enum SIZE { Small = 0, Medium = 1, Large = 2, } 我想使用C#switch表达式,但我不确定如何创建“case”语句: App.devWidth = App.width switch { }; 我想做的是设置宽度,如下所示: Small = App.width < 700; Medium = App.width >= 700 && App.width < 1
public enum SIZE
{
Small = 0,
Medium = 1,
Large = 2,
}
我想使用C#switch表达式,但我不确定如何创建“case”语句:
App.devWidth = App.width switch
{
};
我想做的是设置宽度,如下所示:
Small = App.width < 700;
Medium = App.width >= 700 && App.width < 1200;
Large = App.width >= 1200;
Small=App.width<700;
中等=App.width>=700和&App.width<1200;
大=应用宽度>=1200;
有没有办法将这些应用程序宽度测试放在开关“=>”的左侧?如果您使用的是C#8.0,则可以在使用以下关键字时使用:
App.devWidth = App.width switch
{
var x when x >= 0 && x < 700 => SIZE.Small,
var x when x >= 700 && x < 1200 => SIZE.Medium,
var x when x >= 1200 => SIZE.Large,
_ => throw new Exception("Invalid width value") // if width < 0
};
App.devWidth=App.width开关
{
变量x当x>=0&&x<700=>SIZE.Small时,
变量x当x>=700&&x<1200=>SIZE.Medium时,
当x>=1200=>SIZE.Large时的变量x,
_=>抛出新异常(“无效宽度值”)//如果宽度<0
};
上面的代码还检查App.width>=0
,如果不检查,则抛出异常(不确定是否需要,如果不需要,则删除它)
您应该使用when
关键字,如链接副本中所述