foreach, in (C#-Referenz)foreach, in (C# Reference)

Mit der foreach-Anweisung wird eine Gruppe von eingebetteten Anweisungen für jedes Element in einem Array oder einer Objektauflistung wiederholt, das die Schnittstelle System.Collections.IEnumerable oder System.Collections.Generic.IEnumerable<T> implementiert.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. Die foreach-Anweisung wird verwendet, um die Auflistung zu durchlaufen und dadurch die gewünschten Informationen zu erhalten. Setzen Sie sie nicht ein, um der Auflistung Elemente hinzuzufügen oder aus ihr zu entfernen, um unvorhersehbare Nebeneffekte zu vermeiden.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. Wenn Sie Elemente zu der Quellauflistung hinzufügen oder daraus entfernen müssen, verwenden Sie eine for-Schleife.If you need to add or remove items from the source collection, use a for loop.

Die Ausführung der eingebetteten Anweisungen wird für jedes Element in dem Array oder der Auflistung fortgesetzt.The embedded statements continue to execute for each element in the array or collection. Nachdem die Iteration alle Elemente in der Auflistung durchlaufen hat, wird die Steuerung an die nächste Anweisung, die auf den foreach-Block folgt, übergeben.After the iteration has been completed for all the elements in the collection, control is transferred to the next statement following the foreach block.

Sie können die Schleife an jedem Punkt im foreach-Block mit dem Schlüsselwort break unterbrechen oder mit dem Schlüsselwort continue direkt zum nächsten Durchlauf der Schleife springen.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.

Eine foreach-Schleife kann durch die Anweisungen goto, return oder throw beendet werden.A foreach loop can also be exited by the goto, return, or throw statements.

Weitere Informationen zum foreach-Schlüsselwort und zu Codebeispielen finden Sie unter den folgenden Themen:For more information about the foreach keyword and code samples, see the following topics:

Verwenden von foreach mit ArraysUsing foreach with Arrays

Gewusst wie: Zugreifen auf Sammlungsklassen mit foreachHow to: Access a Collection Class with foreach

BeispielExample

Der folgende Code zeigt drei Beispiele.The following code shows three examples.

Tipp

Sie können ändern, in den Beispielen Experimentieren mit der Syntax, und wiederholen verschiedene Verwendungen, die eher mit Ihrem Anwendungsfall vergleichbar sind.You can modify the examples to experiment with the syntax and try different usages that are more similar to your use case. Drücken Sie "Ausführen", um den Code auszuführen, und bearbeiten, und drücken Sie "führen Sie" erneut aus.Press "Run" to run the code, then edit and press "Run" again.

  • eine typische foreach-Schleife, die den Inhalt eines Arrays von Ganzzahlen anzeigta 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
  • eine for-Schleife, die die gleiche Aufgabe ausführta 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
  • eine foreach-Schleife, die die Anzahl von Elementen im Array enthälta 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#-ProgrammiersprachenspezifikationC# Language Specification

Weitere Informationen erhalten Sie unter C#-Sprachspezifikation. Die Sprachspezifikation ist die verbindliche Quelle für die Syntax und Verwendung von C#.

Siehe auchSee Also

C#-ReferenzC# Reference

C#-ProgrammierhandbuchC# Programming Guide

C#-SchlüsselwörterC# Keywords

IterationsanweisungenIteration Statements

forfor