VB.NET 2重のForループを一気に抜ける方法
VB.NET
で2重のFor
文の一番深い箇所でExit For
コマンドを実行しても自身のFor
文しか抜けることができません。
子ループをExit For
で抜ける前にBreak
フラグなどを立てておいて、親ループではBreak
フラグが立っていた場合はExit For
で抜けるような方法は処理が少し複雑になってしまいます。
以下のようにDo
ループでネストしておけば、Exit Do
コマンドで一気にFor
文を抜けることができます。
Do
For i As Integer = 0 To 10
For j As Integer = 0 To 10
If foo = bar Then
'Forループを一気に抜ける
Exit Do
End If
Next
Next
'Doループは1回のみ行う
Exit Do
Loop
可読性の観点ではBreak
フラグのような方法のほうが直感的かもしれませんが、変数を宣言したり余計なステップがなくなる分不具合も減るので慣れてしまえばDo
ループの方法でもいいと思います。