使用枚举切换语句 - 或(||)和(&&)

Myk*_*kod 0 c# enums switch-statement

我正在制作一个项目,我有一个问题.我有3个这样的枚举状态:

enum GameLevel
{
     Level1,
     Level2,
     None,
}
Run Code Online (Sandbox Code Playgroud)

在我的代码中有一部分,我想检查是否有任何级别被选中或没有,所以我想做类似的事情:

case !GameLevel.None
Run Code Online (Sandbox Code Playgroud)

要么

case GameLevel.Level1 || GameLevel.Level2
Run Code Online (Sandbox Code Playgroud)

这可能吗?

Jon*_*eet 9

各种选择:

使用默认的开关:

switch (level)
{
    case GameLevel.None:
        // Whatever
        break;
    default:
        // Do something else
        // break
}
Run Code Online (Sandbox Code Playgroud)

使用具有明确案例的开关:

// Note: if you add a Level3, you'd need to change this...
switch (level)
{
    case GameLevel.Level1:
    case GameLevel.Level2:
        // Whatever
        break;
}
Run Code Online (Sandbox Code Playgroud)

使用if声明:

if (level != GameLevel.None)
{
    ...
}
Run Code Online (Sandbox Code Playgroud)