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

foreach ステートメントは、System.Collections.IEnumerable インターフェイスまたは System.Collections.Generic.IEnumerable<T> インターフェイスを実装する配列またはオブジェクト コレクションのそれぞれの要素に対して埋め込みステートメントを繰り返します。The foreach statement repeats a group of embedded statements for each element in an array or an object collection that implements the System.Collections.IEnumerable or System.Collections.Generic.IEnumerable<T> interface. foreach ステートメントは、コレクションを繰り返し処理して目的の情報を取得するために使用しますが、予期しない副作用を防ぐため、ソース コレクションに対する項目の追加または削除には使用しないでください。The foreach statement is used to iterate through the collection to get the information that you want, but can not be used to add or remove items from the source collection to avoid unpredictable side effects. ソース コレクションに対して項目を追加または削除する必要がある場合は、for ループを使います。If you need to add or remove items from the source collection, use a for loop.

埋め込みステートメントは、配列またはコレクション内の各要素に対して繰り返し実行されます。The embedded statements continue to execute for each element in the array or collection. コレクション内の全要素に対する繰り返しが完了すると、制御は、foreach ブロックに続く次のステートメントに移動します。After the iteration has been completed for all the elements in the collection, control is transferred to the next statement following the foreach block.

foreach ブロック内の任意の位置で、break キーワードを使ってループから抜けることができます。または、continue キーワードを使って、ループ内の次の反復処理にスキップできます。At any point within the foreach block, you can break out of the loop by using the break keyword, or step to the next iteration in the loop by using the continue keyword.

goto ステートメント、return ステートメント、または throw ステートメントを使用して foreach ループを抜けることもできます。A foreach loop can also be exited by the goto, return, or throw statements.

foreach キーワードとコード例の詳細については、以下のトピックを参照してください。For more information about the foreach keyword and code samples, see the following topics:

配列での foreach の使用Using foreach with Arrays

方法: foreach を使用してコレクション クラスにアクセスするHow to: Access a Collection Class with foreach

Example

次のコードでは、3 つの例を示します。The following code shows three examples.

ヒント

構文をテストし、ユース ケースに似ている別の使用を再試行してください。 例を変更することができます。You can modify the examples to experiment with the syntax and try different usages that are more similar to your use case. 編集し、「実行」、もう一度押しますコードを実行するには、"Run"キーを押します。Press "Run" to run the code, then edit and press "Run" again.

  • 整数の配列の内容を表示する一般的な foreach ループa typical foreach loop that displays the contents of an array of integers
int[] fibarray = new int[] { 0, 1, 1, 2, 3, 5, 8, 13 };
foreach (int element in fibarray)
{
    System.Console.WriteLine(element);
}
System.Console.WriteLine();
// Output:
// 0
// 1
// 1
// 2
// 3
// 5
// 8
// 13
  • 同じ処理を行う for ループa for loop that does the same thing
int[] fibarray = new int[] { 0, 1, 1, 2, 3, 5, 8, 13 };
// 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();
// Output:
// 0
// 1
// 1
// 2
// 3
// 5
// 8
// 13
  • 配列内の要素数のカウントを保持する foreach ループa foreach loop that maintains a count of the number of elements in the array
int[] fibarray = new int[] { 0, 1, 1, 2, 3, 5, 8, 13 };
// 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:
// 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# Language Specification

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

関連項目See Also

C# リファレンスC# Reference

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

C# のキーワードC# Keywords

繰り返しステートメントIteration Statements

forfor