Continue 语句 (Visual Basic)

立即将控制转移到循环的下一次迭代。

语法

Continue { Do | For | While }  

注解

可以从内部DoForWhile或循环传输到该循环的下一次迭代。 控制将立即传递给循环条件测试,该测试等效于传输到ForWhile语句,或者传递给Do包含Until或子句的或LoopWhile语句。

可以在允许传输的循环中的任何位置使用 Continue 。 允许传输控制的规则与 GoTo 语句相同。

例如,如果一个 Try 循环完全包含在块、 Catch 块或 Finally 块中,则可以使用该 Continue 循环传出循环。 另一方面,Try如果 ...End Try结构包含在循环中,则不能用于Continue从块中传输控制权Finally,并且仅当完全从 ...End Try结构中转移出去时,才能使用它从块中转移CatchTry出来Try

如果你有同一类型的嵌套循环,例如另一DoDo个循环中的循环,则Continue Do语句将跳到包含它的最Do内部循环的下一次迭代。 不能用于 Continue 跳到相同类型的包含循环的下一次迭代。

如果具有不同类型的嵌套循环(例如循环中的For循环),则可以使用任Continue DoDo循环Continue For或跳到任一循环的下一次迭代。

示例:

如果除数为零,下面的代码示例使用 Continue While 语句跳到数组的下一列。 位于 Continue While 循环中 For 。 它将传输到While col < lastcol语句,这是包含For循环的最While内部循环的下一次迭代。

Dim row, col As Integer
Dim lastrow As Integer = 6
Dim lastcol As Integer = 10
Dim a(,) As Double = New Double(lastrow, lastcol) {}
Dim b(7) As Double
row = -1
While row < lastrow
    row += 1
    col = -1
    While col < lastcol
        col += 1
        a(row, col) = 0
        For i As Integer = 0 To b.GetUpperBound(0)
            If b(i) = col Then
                Continue While
            Else
                a(row, col) += (row + b(i)) / (col - b(i))
            End If
        Next i
    End While
End While

另请参阅