VB.NET - Visual Studio 2003 的“继续”的替代方案

Posted

技术标签:

【中文标题】VB.NET - Visual Studio 2003 的“继续”的替代方案【英文标题】:VB.NET - Alternative to "Continue For" for Visual Studio 2003 【发布时间】:2011-02-24 14:33:59 【问题描述】:

我正在尝试跳到 for 循环中的下一个条目。

For Each i As Item In Items
    If i = x Then
        Continue For
    End If

    ' Do something
Next

在 Visual Studio 2008 中,我可以使用“继续”。但在 VS Visual Studio 2003 中,这不存在。我可以使用其他方法吗?

【问题讨论】:

【参考方案1】:

如果你的条件是真的,你可以什么都不做。

For Each i As Item in Items
    If i <> x Then ' If this is FALSE I want it to continue the for loop
         ' Do what I want where
    'Else
        ' Do nothing
    End If
Next

【讨论】:

适用于我的示例。谢谢。【参考方案2】:

继续,根据我的阅读,VS2003 中不存在。但是您可以切换条件,使其仅在不满足条件时执行。

For Each i As Item In Items
  If i <> x Then
    ' run code -- facsimile of telling it to continue.
  End If
End For

【讨论】:

【参考方案3】:

它没有那么漂亮,但只是否定了 If。

For Each i As Item In Items
    If Not i = x Then 

    ' Do something
    End If
Next

【讨论】:

为什么不使用operator <>?【参考方案4】:

您可以在循环体结束时使用带有标签的GoTo 语句。

对于每个 i 作为项目中的项目 If i = x Then GoTo continue ' 做点下一步 继续: 下一个

【讨论】:

我知道“goto”语句不受欢迎,但实际上这似乎比其他任何语句都更通用。【参考方案5】:

根据您的代码可能有点矫枉过正,但这里有一个替代方案:

For Each i As Item In Items
    DoSomethingWithItem(i)
Next

...

Public Sub DoSomethingWithItem(i As Item)
    If i = x Then Exit Sub
    'Code goes here
End Sub

【讨论】:

以上是关于VB.NET - Visual Studio 2003 的“继续”的替代方案的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio / VB.Net 2008 IntelliSense 奇怪行为

VB.NET - Visual Studio 2003 的“继续”的替代方案

Visual Studio 2012 Vb.net 无法将配置切换到发布模式

2013 年 Visual Studio 中 VB.NET 的格式说明符

从 Visual Studio 2017 中的现有 VB.NET 项目创建 dll

在 Visual Studio 2010 的 vb.net 中创建钻取 rdlc 报告