foreach、in (C# リファレンス)
更新 : 2007 年 11 月
foreach ステートメントは、System.Collections.IEnumerable インターフェイスまたは System.Collections.Generic.IEnumerable<T> インターフェイスを実装する配列またはオブジェクト コレクションのそれぞれの要素に対して埋め込みステートメントを繰り返します。foreach ステートメントは、コレクションを繰り返し処理して目的の情報を取得するために使用しますが、予期しない副作用を防ぐため、ソース コレクションに対する項目の追加または削除には使用しないでください。ソース コレクションに対して項目を追加または削除する必要がある場合は、for ループを使用します。
埋め込みステートメントは、配列またはコレクション内の各要素に対して繰り返し実行されます。コレクション内の全要素に対する繰り返しが完了すると、制御は、foreach ブロックに続く次のステートメントに移動します。
foreach ブロック内の任意の位置で、break キーワードを使用してループから抜けることができます。または、continue キーワードを使用して、ループ内の次の反復処理にスキップできます。
goto ステートメント、return ステートメント、または throw ステートメントを使用しても、foreach ループを抜けることができます。
foreach キーワードとコード例の詳細については、以下のトピックを参照してください。
配列での foreach の使用 (C# プログラミング ガイド)
方法 : foreach を使用してコレクション クラスにアクセスする (C# プログラミング ガイド)
使用例
この例では、foreach を使用して整数配列の内容が表示されます。
class ForEachTest
{
static void Main(string[] args)
{
int[] fibarray = new int[] { 0, 1, 2, 3, 5, 8, 13 };
foreach (int i in fibarray)
{
System.Console.WriteLine(i);
}
}
}
/*
Output:
0
1
2
3
5
8
13
*/
C# 言語仕様
詳細については、「C# 言語仕様」の次のセクションを参照してください。
5.3.3.16 foreach ステートメント
8.8.4 foreach ステートメント