有没有Visual Basic相当于C#的'continue'和'break'语句?

10

举例来说,我如何在VB中实现这个?

foreach foo in bar
{
   if (foo == null)
       break;

   if (foo = "sample")
       continue;

   // More code
   //...
}

退出 For、退出 Select 等,你总是可以通过使用 GoTo 语句和一个行标签来模拟 break 语句。顺便说一下,许多人不赞成使用 GoTo 语句,而且我发现每当我使用它们时,它们总是在重写中消失了。 - David Rutten
相反地,在C#中,*C#循环-break vs. continue*。 - Peter Mortensen
2个回答

19

--编辑:

自我回答后,您已更改了问题,但我将保留我的答案。我猜一个VB.NET程序员会告诉你如何实现这样的循环。我不想尝试伤害可怜的C#编译器的感情...

--旧回答:

我认为是有的。

Continue While
Continue For

Exit While
Exit For

你的回答似乎是正确的。Exit For 似乎适用于 VB 的 For Each 循环。一旦我验证过了,我会标记你的答案。 - Jude Allred
@Blinky - 现在有点老了,但是在 vb.net 中 Exit For 绝对还有效。 - Joel Coehoorn

4
我想一个VB.NET示例将有助于未来理解:

Sub breakTest()
    For i = 0 To 10
        If (i = 5) Then
            Exit For
        End If
        Console.WriteLine(i)
    Next
    For i = 0 To 10
        If (i = 5) Then
            Continue For
        End If
        Console.WriteLine(i)
    Next
End Sub

break 的输出结果:

0
1
2
3
4

并且继续:
0
1
2
3
4
6
7
8
9
10

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接