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

时间:2014-05-22 00:17:41

标签: vb.net switch-statement case-statement

似乎如果我将案例堆叠在一起,它们就不能像一个人那样工作。 由于VB.NET案例不需要使用Exit Select / Return,因此每次在其下检测到新案例时,它似乎会自动添加吗?

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

它似乎只能工作13件..

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

1 个答案:

答案 0 :(得分:20)

您的理解是正确的。 VB不会“堕落”。

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

Select Case Test
    Case 11, 12, 13
        MsgBox.Show("Could be 11 or 12 or 13?")
End Select

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

Select Case Test
    Case 11 To 13
        MsgBox.Show("Could be 11 or 12 or 13?")
End Select

有关详细信息,请参阅the documentation