switch语句中有多个case

有没有办法通过多个案例陈述而没有陈述case value:反复?

我知道这是有效的:

switch (value)
{
   case 1:
   case 2:
   case 3:
      //do some stuff
      break;
   case 4:
   case 5:
   case 6:
      //do some different stuff
      break;
   default:
       //default stuff
      break;
}

但我想要做这样的事情:

switch (value)
{
   case 1,2,3:
      //Do Something
      break;
   case 4,5,6:
      //Do Something
      break;
   default:
      //Do the Default
      break;
}

这是我从另一种语言想到的语法,还是我错过了什么?


对于你提到的第二种方法,C ++和C#都没有语法。

你的第一种方法没有问题。 如果你有很大的范围,只需要使用一系列的if语句。


我想这已经得到了回答。 不过,我认为你仍然可以通过下面的语法更好地混合两个选项:

switch (value)
{
case 1: case 2: case 3:          
    // Do Something
    break;
case 4: case 5: case 6: 
    // Do Something
    break;
default:
    // Do Something
    break;
}

此语法来自Visual Basic Select ... Case语句:

Dim number As Integer = 8
Select Case number
    Case 1 To 5
        Debug.WriteLine("Between 1 and 5, inclusive")
        ' The following is the only Case clause that evaluates to True.
    Case 6, 7, 8
        Debug.WriteLine("Between 6 and 8, inclusive")
    Case Is < 1
        Debug.WriteLine("Equal to 9 or 10")
    Case Else
        Debug.WriteLine("Not between 1 and 10, inclusive")
End Select

你不能在C#中使用这种语法。 相反,您必须使用第一个示例中的语法。

链接地址: http://www.djcxy.com/p/14777.html

上一篇: Multiple cases in switch statement

下一篇: Where are variables in a closure stored