如何:将控制转移到控制结构外
更新:2007 年 11 月
可以使用 Exit 语句 (Visual Basic) 直接从控制结构中退出。Exit 立即将执行转移到控制结构的最后一条语句之后的语句。Exit 语句的语法指定正在转移出哪种类型的控制结构。可能有下列版本的 Exit 语句:
Exit Select
Exit Try
Exit While
Exit Do
Exit For
Exit 语句可以在支持该语句的控制结构内部按照需要多次出现。当控制结构已经完成所有需完成的操作,不再需要运行任何其他语句时,Exit 非常有用。
不支持退出的控制结构。 不能使用 Exit 语句转移出 If、Using 或 With 块。若要转移出这类块,可以在块的 End 语句中放置一个语句标签,并使用 GoTo 语句转移到该块。有关语句标签的更多信息,请参见 如何:标记语句。
示例
如果在嵌套控制结构内遇到 Exit 语句,控制将传递给 Exit 语句中所指定类型的最内层结构之后的语句。下面的示例阐释这一点。
Public Sub invertElements(ByRef a(,) As Double)
For i As Integer = 0 To UBound(a, 1)
For j As Integer = 0 To UBound(a, 2)
If a(i, j) = 0 Then
' Cannot complete this row; resume outer loop.
Exit For
Else
a(i, j) = 1.0 / a(i, j)
End If
Next j
' Control comes here directly from the Exit For statement.
Next i
End Sub
在前面的示例中,Exit For 语句位于内部 For 循环中,因此它将控制传递给该循环后面的语句,并继续执行外部 For 循环。