VB.Net Switch 语句,在每种情况下都包含代码段

标签 vb.net switch-statement

所以我正在用 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

本质上,对于 Case Else,我需要在每个 Case 中都有 numColumns = numColumns + 1 语句。有没有一种方法可以在不向每个 Case 语句添加相同代码行的情况下执行此操作?

我能想到的简单解决方案是在我的选择之前有一个 if 语句,然后在那里进行递增,但我想知道是否有办法像 Case All 线什么的。

最佳答案

这应该有效:

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

编辑:

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

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 部分“什么都不做”,那么您可以完全省略它。

关于VB.Net Switch 语句,在每种情况下都包含代码段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50393614/

相关文章:

swift - 模式匹配作为 swift 中的函数表达式

java - 程序似乎跳过了 if 语句的一部分,在移回正确位置之前移至 else 语句

ruby-on-rails - Case 语句在 erb 部分中不起作用

vb.net - 将文本框的背景色设置为透明

.net - 希腊增值税验证码

java - 我可以将不同的 Canvas 笔划添加到数组中吗?

ruby - || 的多个 case/when 条件

vb.net - VB 2010 : How to calculate a date difference?

.net - 从SQL错误消息547获取特定信息

vb.net - 使用 ManagementObjectSearcher 时检测到 DisconnectedContext