如何:跳转到循环的下一次迭代

更新:2007 年 11 月

如果已经完成了 Do、For 或 While 循环当前迭代的处理,则可以通过使用 Continue 语句 (Visual Basic) 立即跳转到下一次迭代。

跳转到下一次迭代

跳转到 For...Next 循环的下一次迭代

  1. 以常规方法编写 For...Next 循环。

  2. 在任何要终止当前迭代并立即进行下一次迭代的位置使用 Continue For。

    Public Function findLargestRatio(ByVal high() As Double, _
        ByVal low() As Double) As Double
        Dim ratio As Double
        Dim largestRatio As Double = Double.MinValue
        For counter As Integer = 0 To low.GetUpperBound(0)
            If Math.Abs(low(counter)) < System.Double.Epsilon _
                Then Continue For 
            ratio = high(counter) / low(counter)
            If Double.IsInfinity(ratio) OrElse Double.IsNaN(ratio) _
                Then Continue For 
            If ratio > largestRatio Then largestRatio = ratio
        Next counter
        Return largestRatio
    End Function
    

从嵌套循环中跳转

如果有层层嵌套的 Do、For 或 While 循环,可以立即跳转到任何嵌套级别的下一次迭代。但是,这仅当循环是不同类型时才为真。如果嵌套循环的类型相同(例如嵌套的 While 循环),Continue While 跳转到最内层 While 循环的下一次迭代。

在嵌套的 For 循环中跳转到 Do 循环的下一次迭代

  1. 以常规方法编写嵌套循环。

  2. 在任何要终止内层 For 循环的当前迭代并跳转到外层 Do 循环的下一次迭代的位置,使用 Continue Do。

    Public Sub divideElements(ByRef matrix(,) As Double)
        Dim i As Integer = -1
        Do Until i > matrix.GetUpperBound(0)
            i += 1
            For j As Integer = 0 To matrix.GetUpperBound(1)
                If matrix(j, j) = 0 Then Continue Do 
                matrix(i, j) /= matrix(j, j)
            Next j
        Loop 
    End Sub
    

请参见

任务

如何:将控制转移到控制结构外

如何:重复运行多条语句

如何:为集合或数组中的每个元素运行多个语句

如何:提高循环的性能

概念

循环结构

嵌套的控制结构

参考

While...End While 语句 (Visual Basic)

Do...Loop 语句 (Visual Basic)

For...Next 语句 (Visual Basic)

其他资源

控制流 (Visual Basic)