Array.ForEachメソッドを使うと、配列の要素を列挙してすべての要素に対して同一の処理を施すことが出来ます。 このメソッドでは、処理を記述したメソッドをActionデリゲートの形式で指定することで、配列内の個々の要素を引数としてそのメソッドが呼び出されます。 foreach文の内側でメソッド呼び出しを行う代わりに、このメソッドを使ってより簡単に記述することが出来ます。
Array.ForEachメソッドを使って配列内の全要素を列挙する
Imports System
Class Sample
' 引数の値をゼロ埋めして表示
Shared Sub Print(ByVal val As Integer)
Console.WriteLine("{0:D3}", val)
End Sub
Shared Sub Main()
Dim arr() As Integer = {0, 1, 2, 3, 4}
' 配列内の値をゼロ埋めして表示
Array.ForEach(arr, AddressOf Print)
Console.WriteLine()
' 上記の処理をFor Eachステートメントで記述した場合
For Each elem As Integer In arr
Print(elem)
Next
End Sub
End Class
実行結果
000 001 002 003 004 000 001 002 003 004
このメソッドは配列内の各要素を列挙するだけであるため、元の配列に変更を加えるような処理を行うことは出来ません。 そういった処理を行いたい場合はfor文やArray.ConvertAllメソッドを使います。