配列での foreach の使用 (C# プログラミング ガイド)Using foreach with Arrays (C# Programming Guide)

foreach ステートメントでは、配列の要素の反復処理を、簡単かつ安全に行うことができます。The foreach statement provides a simple, clean way to iterate through the elements of an array.

1 次元配列の場合、foreach ステートメントは、インデックス 0 から始まりインデックス Length - 1 で終わるインデックスの昇順で要素を処理します。For single-dimensional arrays, the foreach statement processes elements in increasing index order, starting with index 0 and ending with index Length - 1:

int[] numbers = { 4, 5, 6, 1, 2, 3, -2, -1, 0 };
foreach (int i in numbers)
{
    System.Console.Write("{0} ", i);
}
// Output: 4 5 6 1 2 3 -2 -1 0

多次元配列の場合、右端の次元のインデックスが最初に加算されていき、次にその左の次元、またその左、というような方法で各要素がトラバースされます。For multi-dimensional arrays, elements are traversed such that the indices of the rightmost dimension are increased first, then the next left dimension, and so on to the left:

int[,] numbers2D = new int[3, 2] { { 9, 99 }, { 3, 33 }, { 5, 55 } };
// Or use the short form:
// int[,] numbers2D = { { 9, 99 }, { 3, 33 }, { 5, 55 } };

foreach (int i in numbers2D)
{
    System.Console.Write("{0} ", i);
}
// Output: 9 99 3 33 5 55

ただし、多次元配列では、入れ子になった for ループを使用した方が、配列要素を処理する順序をより厳密に制御できます。However, with multidimensional arrays, using a nested for loop gives you more control over the order in which to process the array elements.

参照See Also