你能在switch语句中使用多个值(C#)吗?

问题描述 投票:2回答:2

我知道在switch开关中使用多个值应该意味着你应该使用if-else设置,但这更像是一个理论问题,而不是一个实用问题。

我的问题是:

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

上面的5 || 6说明了在x为5或6的情况下发射的情况。

这是可能吗?

编辑:这是关于switch决策的设计而不是使用堕落的问题。

c# switch-statement
2个回答
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;
}

9
投票

你可以像这样来匹配5或6:

switch(x){
    case 4:
        break;
    case 5:
    case 6:
        // do something for 5 or 6
        break;
}
© www.soinside.com 2019 - 2024. All rights reserved.