Du kannst C# for Schleifen verwenden, um über eine Ansammlung (Collection) von Objekten zu iterieren, so das eine Aktion für jedes Objekt in der Ansammlung durchführt wird. Die C# for Schleife hat die folgende Syntax:
for(initialization; condition; increment) {
// Anweisungen
}
Die Initialisierungsanweisung initialisiert die Schleife; sie wird einmal ausgeführt, wenn die Schleife beginnt. Die Anweisung condition definiert die Abbruchbedingung der Schleife; sie wird bei jeder Iteration der Schleife ausgewertet, und wenn sie den Wert false ergibt, wird die Schleife beendet. Die Anweisung increment wird nach jeder Iteration der Schleife ausgeführt; sie wird normalerweise verwendet, um eine Zählervariable zu erhöhen oder zu verringern.
Der Abschnitt Anweisungen der for-Schleife enthält die Anweisungen, die bei jeder Iteration der Schleife ausgeführt werden sollen. Im folgenden Beispiel iteriert die Schleife über eine Reihe von Ganzzahlen und gibt den Wert jeder Ganzzahl auf der Konsole aus:
int[] numbers = {1, 2, 3, 4, 5};
for(int i = 0; i < numbers.Length; i++) {
Console.WriteLine(numbers[i]);
}
In diesem Beispiel wird die Integer-Variable i mit 0 initialisiert. Die Schleife wird so lange ausgeführt, wie der Wert von i kleiner ist als die Länge des Arrays numbers. Bei jeder Iteration der Schleife wird der Wert des Elements am Index i im Zahlen-Array auf der Konsole ausgegeben, und dann wird i um 1 erhöht.
Verschachtelte for Schleifen
Es ist auch möglich, for-Schleifen ineinander zu verschachteln. Im folgenden Beispiel iteriert die äußere for-Schleife über eine Menge von Ganzzahlen und die innere for-Schleife über eine Menge von Zeichenketten. Für jede ganze Zahl in der Menge gibt die innere Schleife die Zeichenkette bei Index 0 aus, dann bei Index 1 und so weiter, bis sie das Ende der Menge der Zeichenketten erreicht:
int[] numbers = {1, 2, 3, 4, 5};
string[] strings = {"a", "b", "c", "d", "e"};
for(int i = 0; i < numbers.Length; i++) { // i
for(int j = 0; j < strings.Length; j++) { // j
Console.WriteLine(strings[j]);
}
}
C# for Schleifen: break und continue
Es ist auch möglich, eine for-Schleife mit dem Schlüsselwort break vorzeitig zu verlassen. Im folgenden Beispiel durchläuft die Schleife eine Reihe von Ganzzahlen und gibt den Wert jeder Ganzzahl auf der Konsole aus. Wenn du einen Wert größer als 3 verwendest, wird die Schleife vorzeitig komplett beendet, und die restlichen Werte der Menge werden nicht ausgegeben:
int[] numbers = {1, 2, 3, 4, 5};
for(int i = 0; i < numbers.Length; i++) {
if(numbers[i] > 3) {
break;
}
Console.WriteLine(numbers[i]);
}
In ähnlicher Weise ist es möglich, die aktuelle Iteration einer for-Schleife mit dem Schlüsselwort continue zu überspringen. Im folgenden Beispiel durchläuft die Schleife eine Reihe von Ganzzahlen und gibt den Wert jeder Ganzzahl auf der Konsole aus. Wenn du einen Wert größer als 3 verwendest, wird die aktuelle Iteration übersprungen und der nächste Wert in der Menge wird verarbeitet:
int[] numbers = {1, 2, 3, 4, 5};
for(int i = 0; i < numbers.Length; i++) {
if(numbers[i] > 3) {
continue;
}
Console.WriteLine(numbers[i]);
}
Die C# for-Schleife bietet eine einfache Möglichkeit, eine Reihe von Objekten zu durchlaufen und für jedes Objekt in der Reihe eine Aktion auszuführen. In Verbindung mit den Schlüsselwörtern break und continue kannst du die for-Schleife verwenden, um komplexere Kontrollflussstrukturen zu erstellen.
Hier kannst du noch mehr für for Schleifen erfahren.
Wenn du mehr über Schleifen erfahren möchtest, dann interessiert dich vermutlich auch dieser Artikel über foreach Schleifen.