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

VB.NETのFor Each文のサンプルです。

目次

サンプル For Each文
  配列の値を取得する
  リストの値を取得する
文字列を1文字ずつ取得する
  ディクショナリのキーと値を取得する
Exit ループを抜ける(Exit For)
continue ループの先頭に戻る(Continue For)

For Each文

For Each ( 変数1 in 配列やリスト等の変数2 ){
  実行される処理(変数1を使用する)
}

配列の値を取得する

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

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

3行目は、配列です。
5~7行目は、For Each文で配列の値を取得しています。

リストの値を取得する

Module Module1
	Sub Main()
		Dim a As New List(Of String)(New String() {"赤", "黄", "青"})

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

3行目は、リストです。
5~7行目は、For Each文でリストの値を取得しています。

文字列を1文字ずつ取得する

Module Module1
	Sub Main()
		Dim str As String = "ABCD"

		For Each s1 As String In str
			Console.WriteLine(s1) 'A B C Dが出力される
		Next
	End Sub
End Module

文字列をforeach文でループさせた場合、1文字ずつ取得できます。

ディクショナリのキーと値を取得する

Module Module1
	Sub Main()
		Dim a As New Dictionary(Of String, String)
		a.Add("A", "赤")
		a.Add("B", "黄")
		a.Add("C", "青")

		For Each b In a
			Console.WriteLine(b.Key) 'A B Cと出力される
			Console.WriteLine(b.Value) '赤 黄 青と出力される
		Next
	End Sub
End Module

3行目は、ディクショナリです。
9行目はキーを10行目は値を取得しています。

ループを抜ける(Exit For)

Exit Forでループを抜けるサンプルです。

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

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

7行目は、Exit Forでループから抜けます。
結果「赤」のみ出力されます。

ループの先頭に戻る(Continue For)

Continue Forでループの先頭に戻るサンプルです。

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

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

7行目は、Continue Forでループの先頭(5行目)に戻ります。
結果「赤」と「青」が出力されます。

関連の記事

VB.NET For文 処理を繰り返す(Exit/Continue)
VB.NET While文のサンプル(Exit/Continue)
VB.NET Do...Loop文のサンプル(Exit/Continue)

△上に戻る