VB.NET For文のサンプル(Exit/Continue)

VB.NETのFor文のサンプルです。処理を繰り返す時に使用します。

目次

For文 For文
  Stepを使用したサンプル
Exit ループを途中で終了する(Exit)
  入れ子のときにExitを使用する
Continue ループで処理をスキップする(Continue)
  入れ子のときにContinueを使用する
For Each文 For Each文で配列の値を取得する

For文

For 変数 = start(数値) To end(数値) [Step 数値]
  繰り返される箇所
Next
  • 処理を繰り返す時に使用します。最初にforを書くのでfor文と呼ばれます。
  • startの数値からendの数値まで処理を行います。
  • Stepはループする変数の増加する値を指定できます。マイナスの値も指定できます。省略可能です。
  • ループで使用する変数をカウンター変数またはループ変数といいます。
  • 以下は、MicrosoftのFor...Next ステートメントのリンクです。
    https://docs.microsoft.com/ja-jp/dotnet/visual-basic/language-reference/statements/for-next-statement

for文のサンプルです。

Module Module1
	Sub Main()

		For i = 0 To 5
			Console.WriteLine(i) ' 0 1 2 3 4 5 が出力される
		Next i

		Dim color() As String = {"赤", "黄", "青"} '配列
		For i = 0 To UBound(color)
			Console.WriteLine(color(i)) '赤 黄 青が出力される
		Next i
	End Sub
End Module

4行目は、0から5までの処理を繰り返します。
変数のiはカウンター変数またはループ変数と呼ばれます。
8行目は、配列です。
9行目のUBoundは、配列の添字の最大値を返します。この場合は2を返します。
10行目は、変数と添字で配列の値を表示しています。

Stepを使用したサンプル

Stepを使用したサンプルです。

Module Module1
    Sub Main()

        For i = 0 To 5 Step 2
            Console.Write(i) ' 0 2 4が出力される
        Next i

    End Sub
End Module

4行目は、For文の後にStep 2がついています。ループする変数の値が2つ増加します。
5行目は、0,2,4が出力されます。

ループを途中で終了する(Exit)

ループを途中で終了するサンプルです。

Module Module1
    Sub Main()
        Dim i As Integer '変数

        For i = 0 To 5
            If i = 3 Then
                Exit For
            End If
            Console.Write(i) ' 0 1 2が出力される
        Next i

    End Sub
End Module

7行目のExit Forでfor文を抜けます。
9行目は、0,1,2が出力されます。

入れ子のときにExitを使用する

入れ子のときにExitを使用するサンプルです。

Module Module1
    Sub Main()
        Dim i, j As Integer '変数

        For i = 0 To 2
            For j = 0 To 2
                If j = 0 Then
                    Exit For
                End If
                Console.Write("j=" & j) '出力なし
            Next j
            Console.Write("i=" & i) 'i=0 i=1 i=2が出力される
        Next i

    End Sub
End Module

5,6行目にfor文があり入れ子になっています。
8行目のExit Forは、内側のfor文のみ抜けます。

ループで処理をスキップする(Continue)

ループで処理をスキップするサンプルです。

Module Module1
    Sub Main()
        Dim i As Integer '変数

        For i = 0 To 2
            If i = 1 Then
                Continue For
            End If
            Console.Write(i) '0 2が出力される
        Next i

    End Sub
End Module

7行目のContinue Forでループ処理の先頭の5行目に戻ります。
9行目は、0と2が出力されます。

入れ子のときにContinueを使用する

入れ子のときにContinueを使用するサンプルです。

Module Module1
    Sub Main()
        Dim i, j As Integer '変数

        For i = 0 To 1
            For j = 0 To 1
                If j = 0 Then
                    Continue For
                End If
                Console.Write("j=" & j) 'j=1 j=1が出力される
            Next j
            Console.Write("i=" & i) 'i=0 i=1が出力される
        Next i

    End Sub
End Module

5,6行目にfor文があり入れ子になっています。
8行目のContinue Forは、内側のfor文の先頭の6行目に戻ります。

For Each文で配列の値を取得する

For Each ( 変数1 in 変数2 ){
  繰り返される箇所(変数1を使用する)
}
  • 上記for文との違いは、変数の値を加算する処理がありません。
  • 配列やリストの要素を順番にアクセスします。

For Each文で配列の値を取得するサンプルです。

Module Module1
    Sub Main()
        Dim a() As String = {"赤", "黄", "青"} '配列

        For Each b As String In a
            Console.WriteLine(b) '赤 黄 青が出力される
        Next
    End Sub
End Module

5~7行目は、For Each文です。上記For文との違いは、数値の設定がありません。
配列の各値を表示します。

関連の記事

ASP.NET MVCでhello worldを表示する(VB.NET)
VB.NET If文のサンプル

△上に戻る