方法 : 制御構造から制御を移す
更新 : 2007 年 11 月
Exit ステートメント (Visual Basic) を使用すると、制御構造から直接抜け出ることができます。Exit は、直ちに実行を制御構造の最後のステートメントの次のステートメントに移します。Exit ステートメントの構文では、終了する制御構造の種類を指定します。次のような Exit ステートメントが可能です。
Exit Select
Exit Try
Exit While
Exit Do
Exit For
Exit ステートメントは、これがサポートされている制御構造内で、必要に応じて何度でも指定できます。Exit は、その制御構造で必要な処理がすべて完了し、これ以上ステートメントを実行する必要がない場合に便利です。
**Exit をサポートしない制御構造。**If、Using、および With ブロックでは、Exit ステートメントを使用して制御を移すことはできません。そのような結果を得るには、ブロックの 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 ループが実行されます。