'||' switch 语句中两个枚举之间使用的运算符
'||' operators to be used between two enums in a switch statement
我想检查函数是否 returns 两个枚举值中的任何一个,每个枚举类型都相同。
为了简单起见,我尝试创建一个案例如下:
case EnumerationTypeExample.TypeA || EnumerationTypeExample.TypeB:
不幸的是,这不符合 C#,它说我不能使用“||”运算符,尽管它们属于同一类型;奇怪的。是否有其他方法可以做到这一点? if 语句也许可行,我可能会退回到那个,但是,如果可能的话,我更愿意使用 switch 语句。
case 语句必须是常量,而不是计算。
但是在这种情况下您可以使用 fall through
:
switch (something)
{
case EnumerationTypeExample.TypeA:
case EnumerationTypeExample.TypeB:
{
DoSomething();
break;
}
}
现在代码将在这两种情况下 运行。
我想检查函数是否 returns 两个枚举值中的任何一个,每个枚举类型都相同。
为了简单起见,我尝试创建一个案例如下:
case EnumerationTypeExample.TypeA || EnumerationTypeExample.TypeB:
不幸的是,这不符合 C#,它说我不能使用“||”运算符,尽管它们属于同一类型;奇怪的。是否有其他方法可以做到这一点? if 语句也许可行,我可能会退回到那个,但是,如果可能的话,我更愿意使用 switch 语句。
case 语句必须是常量,而不是计算。
但是在这种情况下您可以使用 fall through
:
switch (something)
{
case EnumerationTypeExample.TypeA:
case EnumerationTypeExample.TypeB:
{
DoSomething();
break;
}
}
现在代码将在这两种情况下 运行。