VB.NET - 如何移动到下一个项目For Each Loop?

Sea*_*lor 88 vb.net loops

有没有类似的声明Exit For,除了退出循环它只是移动到下一个项目.

例如:

For Each I As Item In Items

    If I = x Then 
        ' Move to next item
    End If

    ' Do something

Next
Run Code Online (Sandbox Code Playgroud)

我知道可以简单地添加一个ElseIf语句,所以它将如下所示:

For Each I As Item In Items

    If I = x Then 
        ' Move to next item
    Else
        ' Do something
    End If

Next
Run Code Online (Sandbox Code Playgroud)

只是想知道是否有办法跳转到Items列表中的下一个项目.我敢肯定,大多数人都会问为什么不只是使用这个Else语句,但对我来说,包装"Do Something"代码似乎不太可读.特别是当有更多代码时.

Ada*_*son 171

For Each I As Item In Items
    If I = x Then Continue For

    ' Do something
Next
Run Code Online (Sandbox Code Playgroud)

  • 我差点再次被Skeeted了!;) (8认同)
  • 你最好正确地关闭“If”语句。这是误导性的。 (2认同)

Jon*_*eet 46

我会用这Continue句话代替:

For Each I As Item In Items

    If I = x Then
        Continue For
    End If

    ' Do something

Next
Run Code Online (Sandbox Code Playgroud)

请注意,这与移动迭代器本身略有不同 - 在If再次执行之前的任何事情.通常这是你想要的,但如果不是你必须使用GetEnumerator()然后MoveNext()/ Current显式而不是使用For Each循环.


tim*_*oo8 6

关于什么:

If Not I = x Then

  ' Do something '

End If

' Move to next item '
Run Code Online (Sandbox Code Playgroud)