ネストされたループから抜ける (GoTo文の書式) - VB

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を愛用
掲載日: 2011-10-10
iPentec all rights reserverd.