foreach, in (C#-Referenz)
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.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.Wenn Sie Elemente aus der Quellauflistung hinzufügen oder entfernen müssen, verwenden Sie eine for-Schleife.
Die Ausführung der eingebetteten Anweisungen wird für jedes Element in dem Array oder der Auflistung fortgesetzt.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.
Sie können die Schleife an jedem Punkt im foreach-Block mit dem break-Schlüsselwort unterbrechen oder mit dem continue-Schlüsselwort direkt zum nächsten Durchlauf der Schleife springen.
Eine foreach-Schleife kann durch die Anweisungen goto, return oder throw beendet werden.
Weitere Informationen zum foreach-Schlüsselwort und zu Codebeispielen finden Sie unter den folgenden Themen:
Verwenden von foreach mit Arrays (C#-Programmierhandbuch)
Gewusst wie: Zugreifen auf Auflistungsklassen mit foreach (C#-Programmierhandbuch)
Beispiel
Im folgenden Code werden drei Beispiele:
foreach eine typische - Schleife, die den Inhalt eines Arrays Ganzzahlen anzeigt
für eine Schleife, die gleiche Aufgabe ausführt
foreach eine Schleife, die die Anzahl der Elemente im Array enthält
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#-Programmiersprachenspezifikation
Weitere Informationen finden Sie in der C#-Sprachspezifikation. Die Sprachspezifikation ist die verbindliche Quelle für die Syntax und Verwendung von C#.
Siehe auch
Referenz
Iterationsanweisungen (C#-Referenz)