您可以在switch语句(C#)中使用多个值吗

时间:2019-05-01 08:40:06

标签: c# switch-statement

我知道在切换情况下使用多个值应该意味着您应该使用if-else设置,但这更多是理论问题,而不是实用性。

因此,我的问题是:

switch(x){
    case 4:
        break;
    case 5 || 6:
        break;
}

以上5 || 6说明了在x为5或6时触发的情况。

这有可能吗?

编辑:这是关于switch决策制定的问题,而不是使用掉线的做法。

2 个答案:

答案 0 :(得分:9)

您可以这样匹配5或6:

switch(x){
    case 4:
        break;
    case 5:
    case 6:
        // do something for 5 or 6
        break;
}

答案 1 :(得分:2)

当然可以,借助C#7中的Pattern matching
我知道这不是一种优雅的方法,但它是OP的要求

switch(x){
    case var rule when x == 4:
        //do your things
        break;
    case var rule when x == 5 || x == 6:
        //do your other things
        break;
}