Continue 语句 (Visual Basic)
更新:2007 年 11 月
将控制立即传递给下一轮循环。
Continue { Do | For | While }
备注
您可以从 Do、For 或 While 循环内进入该循环的下一轮循环。控制权将立即转移到循环条件测试部分,这等同于转移到 For 或 While 语句,或转移到包含 Until 或 While 子句的 Do 或 Loop 语句。
在循环中允许转移的任何位置均可使用 Continue。允许转移控制权的规则与 GoTo 语句 的规则相同。
例如,如果循环完全包含在 Try 块、Catch 块或 Finally 块中,则可使用 Continue 跳出循环。另一方面,如果 Try...End Try 结构包含在循环以内,则不能使用 Continue 将控制转移到 Finally 块之外,并且,只有在完全跳出 Try...End Try 结构时,才能使用 Continue 转移到 Try 或 Catch 块之外。
如果嵌套了同类循环,例如,一个 Do 循环嵌套在另一个 Do 循环中,Continue Do 语句将跳到包含它的最内层 Do 循环的下一轮。不能使用 Continue 跳到同类型的包含循环的下一轮循环。
如果嵌套了多个类型不同的循环,例如,一个 Do 循环嵌套在一个 For 循环中,则可使用 Continue Do 或 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