HOW TO:跳到迴圈的下一個反覆運算
更新:2007 年 11 月
如果您已經完成對目前 Do、For 或 While 迴圈 (Loop) 的反覆運算處理,則可以使用 Continue 陳述式 (Visual Basic) 立即跳到下一個反覆運算。
跳到下一個反覆運算
若要跳到 For...Next 迴圈的下一個反覆運算
以正常方式撰寫 For...Next 迴圈。
在任何您想要終止目前的反覆運算並立即跳到下一個反覆運算的地方,使用 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 迴圈的下一個反覆運算
以正常方式撰寫巢狀迴圈。
在任何您想要終止目前內層 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)