VB.NET堆栈像Switch C#/ Java一样选择Case语句

SSp*_*oke 15 vb.net case-statement switch-statement

似乎如果我将案例堆叠在一起它们不能像一个一样工作.既然VB.NET案例不需要使用Exit Select/ Return,那么每次在它下面检测到新的Case时它似乎会自动放入?

Dim Test as Integer = 12

Select Case Test
  Case 11
  Case 12
  Case 13
    MsgBox.Show("Could be 11 or 12 or 13?")
End Select
Run Code Online (Sandbox Code Playgroud)

它似乎只工作13件作品..

Gotta always remember this rule that you can't stack Cases like this from now on
移植应用程序时要记住它并不容易

lc.*_*lc. 24

你的理解是正确的.VB不会"堕落".

Case使用逗号指定单个并分隔每个表达式:

Select Case Test
    Case 11, 12, 13
        MsgBox.Show("Could be 11 or 12 or 13?")
End Select
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用带To关键字的范围来完成同样的事情:

Select Case Test
    Case 11 To 13
        MsgBox.Show("Could be 11 or 12 or 13?")
End Select
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅文档.