'||' 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;  
    }
}

现在代码将在这两种情况下 运行。