005.7.2. foreachを使って配列を全て取得する

過去のブログのアーカイブ
この記事は前身のブログのアーカイブを引き継いだものです. 画像が正しく表示できないなど,コンテンツの表示に問題がある恐れがあります.

配列の内容を一通り取得したい場合は、foreachを使うと便利です。

foreachとは?

foreachはforとeachを合わせたもの。ループの一種で、配列の内容を1つずつ取り出すというものです。
実際のコードを見てみましょう。

int[] values = new int[] { 100, 200, 300 };
foreach (int value in values)
{
    Console.WriteLine(value);
}
// 出力'
// 100
// 200
// 300

このように、中身を一つずつ出して処理します。
この例の場合、values配列の内容をvalue変数に格納していって処理しています。

他の似たコード

これと同じことはfor文でも行えます。

int[] values = new int[] { 100, 200, 300 };
for (int i = 0;i < values.Length;i++)
{
    Console.WriteLine(values[i]);
}

int iを使って、配列のインデックスから中身を取得しています。
forでする場合の特徴として、処理したデータを配列の中には戻すということができます。逆にforeachでは行えません。
例えば、以下のコードはforeachではできません。

int[] values = new int[] { 100, 200, 300 };
// これは間違い
foreach (int value in values)
{
    value = value * 2;
}
// このようにしよう
for (int i = 1; i < values.Length; i++)
{
    values[i] = values[i] * 2;
}

 まとめ

配列の内容1つずつ取り出すならforeachが便利!