首页 > 解决方案 > VB.Net Switch 语句,在每种情况下都包含代码段

问题描述

所以我正在 VB.Net 中编写一个程序,并且有一个关于 Select/Case 语句的简单问题,我似乎无法找到答案。所以现在我的案例看起来像这样:

Select Case numColumns
    Case 0
        numColumns = numColumns + 1
        'Some code
    Case 1
        numColumns = numColumns + 1
        'Some different code
    Case 2
        numColumns = numColumns + 1
        'Some even more different code
    Case Else
        'Do Nothing
End Select

本质上,我需要numColumns = numColumns + 1在每个案例中都有声明,除了. Case Else有没有办法在不向每个 Case 语句添加相同的代码行的情况下做到这一点?

我能想到的简单解决方案是在我的选择之前可能有一个 if 语句,并在那里进行增量,但我想知道是否有办法用一条Case All线或其他东西来做到这一点。

标签: vb.netswitch-statement

解决方案


这应该有效:

Select Case numColumns
    Case 0 To 2
        numColumns = numColumns + 1
        'Some code
    Case Else
        'Do Nothing
End Select

编辑:

Select/Case如果你认为它比If之前的 -statement更漂亮,你可以用一个额外的方法来解决它:

Select Case numColumns
    Case 0 To 2
        numColumns = numColumns + 1

        Select Case numColumns
            Case 0
                'Some code
            Case 1
                'Some different code
            Case 2
                'Some even more different code
        End Select
    Case Else
        'Do Nothing
End Select

如果你真的在 - 部分“什么都不做” Else,那么你可以完全省略它。


推荐阅读