次の方法で共有


foreach、in (C# リファレンス)

foreach ステートメントは、IEnumerable インターフェイスまたは IEnumerable インターフェイスを実装する配列またはオブジェクト コレクションのそれぞれの要素に対して埋め込みステートメントを繰り返します。 foreach ステートメントは、コレクションを繰り返し処理して目的の情報を取得するために使用しますが、予期しない副作用を防ぐため、ソース コレクションに対する項目の追加または削除には使用しないでください。 ソース コレクションに対して項目を追加または削除する必要がある場合は、for ループを使用します。

埋め込みステートメントは、配列またはコレクション内の各要素に対して繰り返し実行されます。 コレクション内の全要素に対する繰り返しが完了すると、制御は、foreach ブロックに続く次のステートメントに移動します。

foreach ブロック内の任意の位置で、break キーワードを使用してループから抜けることができます。または、continue キーワードを使用して、ループ内の次の反復処理にスキップできます。

goto ステートメント、return ステートメント、または throw ステートメントを使用しても、foreach ループを抜けることができます。

foreach キーワードとコード例の詳細については、以下のトピックを参照してください。

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

方法 : foreach を使用してコレクション クラスにアクセスする (C# プログラミング ガイド)

使用例

次のコードは、3 つの例を示しています。

  • 整数の配列の内容を表示する一般的な foreach ループ

  • 同じ処理を行う for ループ

  • 配列内の要素数のカウントを保持する foreach ループ

class ForEachTest
{
    static void Main(string[] args)
    {
        int[] fibarray = new int[] { 0, 1, 1, 2, 3, 5, 8, 13 };
        foreach (int element in fibarray)
        {
            System.Console.WriteLine(element);
        }
        System.Console.WriteLine();


        // Compare the previous loop to a similar for loop. 
        for (int i = 0; i < fibarray.Length; i++)
        {
            System.Console.WriteLine(fibarray[i]);
        }
        System.Console.WriteLine();


        // You can maintain a count of the elements in the collection. 
        int count = 0;
        foreach (int element in fibarray)
        {
            count += 1;
            System.Console.WriteLine("Element #{0}: {1}", count, element);
        }
        System.Console.WriteLine("Number of elements in the array: {0}", count);
    }
    // Output: 
    // 0 
    // 1 
    // 1 
    // 2 
    // 3 
    // 5 
    // 8 
    // 13 

    // 0 
    // 1 
    // 1 
    // 2 
    // 3 
    // 5 
    // 8 
    // 13 

    // Element #1: 0 
    // Element #2: 1 
    // Element #3: 1 
    // Element #4: 2 
    // Element #5: 3 
    // Element #6: 5 
    // Element #7: 8 
    // Element #8: 13 
    // Number of elements in the array: 8
}

C# 言語仕様

詳細については、「C# 言語仕様」を参照してください。言語仕様は、C# の構文と使用法に関する信頼性のある情報源です。

参照

関連項目

C# のキーワード

繰り返しステートメント (C# リファレンス)

for (C# リファレンス)

概念

C# プログラミング ガイド

その他の技術情報

C# リファレンス