如何:跳转到循环的下一次迭代 (Visual Basic)

如果已经完成了 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
    

请参见

任务

如何:将控件转移到控件结构外 (Visual Basic)

如何:重复运行多条语句 (Visual Basic)

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

如何:提高循环的性能 (Visual Basic)

参考

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

Do...Loop 语句 (Visual Basic)

For...Next 语句 (Visual Basic)

概念

循环结构 (Visual Basic)

嵌套的控件结构 (Visual Basic)

其他资源

控制流 (Visual Basic)