VB.NET For Each 繰り返し文

今回は、繰り返し文の「For Each ~ Next」について紹介していきます。
For Eachは配列やListなどのループをする際に、For文より少し簡単に記載することができます。
それでは早速見ていきましょう。

For Each 繰り返し文

For Eachの書き方を記載していきます。

For Each 子要素 as 型 In 配列やListなどの型など親要素
    処理
Next

このように記載することで、配列の件数分ループすることになります。

例を見ていきます。
ListをFor Eachでループさせてみましょう。

Dim list As New List(Of Integer)
list.Add(1)
list.Add(2)
list.Add(3)
list.Add(4)
list.Add(5)

For Each num As Integer In list
    Console.WriteLine(num)
Next

結果
1
2
3
4
5

解説
1行目~6行目:List型の変数を作成。中身は1,2,3,4,5
8行目~10行目:「list」を全件ループしている。 「num」にリストの値が格納されている。

 

結果を見ると、リストに設定した内容がすべて表示されていますね。
ちなみにFor文で記載するとこうなります。

Dim list As New List(Of Integer)
list.Add(1)
list.Add(2)
list.Add(3)
list.Add(4)
list.Add(5)

For i As Integer = 0 To list.Count - 1
    Console.WriteLine(list(i))
Next

 

結果は同じなので、自分がわかりやすい方でfor文を使っていきましょう。

最後にDataTableでもやっていきます。

Dim dt As New DataTable
dt.Columns.Add("1")
dt.Columns.Add("2")

Dim dtrow As DataRow
dtrow = dt.NewRow
dtrow("1") = 1
dtrow("2") = 2
dt.Rows.Add(dtrow)

dtrow = dt.NewRow
dtrow("1") = 3
dtrow("2") = 4
dt.Rows.Add(dtrow)

For Each dr As DataRow In dt.Rows
    For Each dc As DataColumn In dt.Columns
        Console.Write(dr(dc.ColumnName))
    Next
    Console.WriteLine()
Next

結果
12
34

解説
1~15行目:データテーブルの作成。
16行目:データテーブルの行(DataRow)をループ
17行目:データテーブルの列(DataColumn)をループ

このような感じで、ListやDataTableなどのコレクション型を「For Each」でループすることができます。

まとめ

今回はFor Each文を紹介してきました。

For Each文を利用することで、配列やListを全件ループすることができます。

For文でももちろん同じようにループさせることができるので、自分がわかりやすい方を利用してみてください。

 

VB.NETの記事一覧

おすすめの記事