For Each Next文による繰り返し処理 - VB
Visual BasicのFor Each Next文による繰り返し処理を紹介します。
書式
For Each 変数名 In 対象配列またはコレクション
...(処理)
Next
または
For Each 変数名 As 型名 In 対象配列またはコレクション
...(処理)
Next
「対象配列またはコレクション」は
- 配列
- オブジェクト コレクション
- IEnumerableインターフェイスを持つクラス
を指定できます。
「変数名」の変数にループ対象変数の要素が順番に代入され、各要素に対してFor Eachブロック内の処理が実行されます。
プログラム例
UI
下図のUIを作成します。Buttonと複数行のテキストボックスを1つ配置します。
コード
下記のコードを記述します。
Public Class FormSimpleForEach
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim a(5) As Integer
a(0) = 12
a(1) = 8
a(2) = 24
a(3) = 6
a(4) = 22
For Each x As Integer In a
TextBox1.Text += x.ToString() + " / "
Next
End Sub
End Class
解説
下記コードにより、配列の宣言と配列への値の代入をします。
Dim a(5) As Integer
a(0) = 12
a(1) = 8
a(2) = 24
a(3) = 6
a(4) = 22
For Each文でループを実行します。配列aの要素に対して一回ずつループを実行します。ループ内では配列aの値は変数xに代入されます。1回目のループではa(0)の値12が変数xに代入されループが処理されます。
For Each x As Integer In a
TextBox1.Text += x.ToString() + " / "
Next
実行結果
上記のプロジェクトを実行します。下図のウィンドウが表示されます。
[button1]をクリックします。For Eachループが実行され、テキストボックスに配列aの値が"/"で区切られた形式で表示されます。
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用