共用方式為


HOW TO:跳到迴圈的下一個反覆運算

更新:2007 年 11 月

如果您已經完成對目前 Do、For 或 While 迴圈 (Loop) 的反覆運算處理,則可以使用 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
    

請參閱

工作

HOW TO:將控制權轉移出控制結構

HOW TO:重複執行數個陳述式

HOW TO:在集合或陣列中執行各元素的多個陳述式

HOW TO:改善迴圈的效能

概念

迴圈結構

巢狀控制結構

參考

While...End While 陳述式 (Visual Basic)

Do...Loop 陳述式 (Visual Basic)

For...Next 陳述式 (Visual Basic)

其他資源

Visual Basic 中的控制流程