Visual Basicでネストされたループから抜ける方法 - GoTo文の利用
Visual Basicでネストされたループのいちばん深いところから抜け出す場合には、goto文を利用します。
書式
GoTo ラベル名
ラベル名:
"GoTo ラベル名"から"ラベル名:"にジャンプします。
コード例
下記の例では、Exit Whileでは中のループを抜け出す動作であり、ループ全体から抜ける場合はGoTo文を使って抜けます。
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim i As Integer
Dim j As Integer
For i = 0 To 10 Step 1
j = 0
While True
TextBox1.Text += String.Format("({0:d},{1:d}) ", i, j)
If i * j = 25 Then GoTo ExitLoop
j += 1
If 12 < j Then Exit While
End While
Next
ExitLoop:
TextBox1.Text += Chr(13) + Chr(10) + "Complete"
End Sub
実行結果
(0,0) (0,1) (0,2) (0,3) (0,4) (0,5) (0,6) (0,7) (0,8) (0,9) (0,10) (0,11) (0,12) (1,0) (1,1) (1,2) (1,3) (1,4) (1,5) (1,6) (1,7) (1,8) (1,9) (1,10) (1,11) (1,12) (2,0) (2,1) (2,2) (2,3) (2,4) (2,5) (2,6) (2,7) (2,8) (2,9) (2,10) (2,11) (2,12) (3,0) (3,1) (3,2) (3,3) (3,4) (3,5) (3,6) (3,7) (3,8) (3,9) (3,10) (3,11) (3,12) (4,0) (4,1) (4,2) (4,3) (4,4) (4,5) (4,6) (4,7) (4,8) (4,9) (4,10) (4,11) (4,12) (5,0) (5,1) (5,2) (5,3) (5,4) (5,5)
Complete
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用