English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Hier lernen Sie, wie Sie den for-Schleif verwenden, die Struktur des for-Schleifs, die mehrfache Ausführung von Anweisungen oder Codeblöcken in geschachtelten for-Schleifen und wie Sie den for-Schleif verlassen.
Das for-Schlüsselwort stellt den Schleif in C# dar. Der for-Schleif führt den Anweisungsblock wiederholt aus, bis die angegebene Bedingung false zurückgibt.
Syntax:
for (initializer; condition; iterator) { //Codeblock }
Der for-Schleif enthält folgende drei optionalen Teile, die durch Semikolons getrennt sind:
Initialisierer: wird verwendet, um eine Variable zu initialisieren, die ein lokales Variable des for-Schleifs sein wird und nicht außerhalb des Schleifs erreicht werden kann. Es können auch null oder mehrere Zuweisungsanweisungen, Methodenaufrufe, Inkrement- oder Dekrement-Ausdrücke sein, wie z.B.++oder i++sowie await-Ausdrücke.
Bedingungist eine boolesche Ausdrucksbedingung, die true oder false zurückgibt. Wenn das Ergebnis der Berechnung der Bedingung true ist, wird der Schleif erneut ausgeführt; andernfalls wird der Schleif verlassen.
Iteratordefiniert den Inkrement oder Dekrement des Zählers.
Der folgende for-Schleif führt einen Codeblock aus10mal.
for (int i = 0; i < 10; i++) { Console.WriteLine("Wert von i: {0}", i); }
Versuchen Sie es, die Ausgabe zu sehen:
Wert von i: 0 Wert von i: 1 Wert von i: 2 Wert von i: 3 Wert von i: 4 Wert von i: 5 Wert von i: 6 Wert von i: 7 Wert von i: 8 Wert von i: 9
Im obigen Beispiel ist int i = 0 eine Initialisierungsanweisung, wir haben einen int den Zähler i initialisiert und ihn auf 0 initialisiert. Der zweite Teil ist die Bedingungsbedeutung i < 10wenn die Bedingung wird true, dann führt es einen Codeblock aus. Nachdem der Codeblock ausgeführt wurde, springt es zum dritten Teil des Iterators. i+ + ist ein Inkrement-Statement, das den Zähler i wird erhöht1Nun wird es die Bedingungsbedeutung erneut überprüfen und denselben Vorgang wiederholen, bis die Bedingungsbedeutung false zurückgibt. Das Diagramm zeigt die Ausführungssteps des for-Schleifs.
Das Diagramm zeigt die Ausführungssteps des for-Schleifens.
Schrittfolge des for-Schleifens
Wenn ein Codeblock nur eine Anweisung enthält, muss er nicht in Klammern { } eingeschlossen werden, wie folgt.
Beispiel: for-Schleifen
for (int i = 0; i < 10; i++){ Console.WriteLine("Wert von i: {0}", i); }
Die Teile Initialisierer, Bedingung und Iterator sind optional. Sie können Variablen vor dem for-Schleifen initialisieren und die Bedingungen und Iteratoren im Codeblock definieren, wie folgt.
Beispiel: for-Schleifen in C#
int i = 0; for(;;) { if (i < 10) { Console.WriteLine("Wert von i: {0}", i); i++; } else { break; } }
Wert von i: 0 Wert von i: 1 Wert von i: 2 Wert von i: 3 Wert von i: 4 Wert von i: 5 Wert von i: 6 Wert von i: 7 Wert von i: 8 Wert von i: 9
Da diese drei Teile im for-Schleifen optional sind, müssen Sie vorsichtig bei der Definition der Bedingungen und Iteratoren sein. Andernfalls wird es ein unendlicher Zyklus sein, der nie endet.
for (; ; ) { Console.Write(1); }
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ....
Die Steuerungsvariablen des for-Schleifens können jeder numerischen Datentyp sein, z.B. double, decimal usw.
for (double d = 1.01D; d < 1.10; d+= 0.01D) { Console.WriteLine("Wert von i: {0}", d); }
Wert von i: 1.01 Wert von i: 1.02 Wert von i: 1.03 Wert von i: 1.04 Wert von i: 1.05 Wert von i: 1.06 Wert von i: 1.07 Wert von i: 1.08 Wert von i: 1.09
Der Schrittteil im for-Schleifen kann den Wert der Variablen erhöhen oder verringern.
for (int i = 10; i > 0; i--) { Console.WriteLine("Wert von i: {0}", i); }
Wert von i: 10 Wert von i: 9 Wert von i: 8 Wert von i: 7 Wert von i: 6 Wert von i: 5 Wert von i: 4 Wert von i: 3 Wert von i: 2 Wert von i: 1
Sie können auch den Schlüsselwort "break" verwenden, um aus dem for-Schleifen auszusteigen.
for (int i = 0; i < 10; i++) { if (i == 5 ) break; Console.WriteLine("Wert von i: {0}", i); }
Wert von i: 0 Wert von i: 1 Wert von i: 2 Wert von i: 3 Wert von i: 4
Ein for-Schleifen kann auch mehrere durch Kommas getrennte Initialisierungs- und Iterationsbedingungen enthalten, wie folgt.
for (int i = 0, j = 0; i+j < 5; i++, j++) { Console.WriteLine("Wert von i: {0}, J: {",1} ", i,j); }
Wert von i: 0, J: 0 Wert von i: 1, J: 1 Wert von i: 2, J: 2
Ein for-Schleifen kann auch Anweisungen als Initialisierungs- und Iterationsbedingungen enthalten.
int i = 0, j = 5; for (Console.WriteLine($"Initialisierer: i={i}, j={j}"); i++ < j--; Console.WriteLine($"Iterierer: i={i}, j={j}")) { }
Ausgabe:
Initialisierer:i = 0,j = 5 Iterator:i = 1,j = 4 Iterator:i = 2,j = 3 Iterator:i = 3,j = 2
C# ermöglicht eine geschachtelte Schleife in einer anderen for-Schleife.
for (int i = 0; i < 2; i++) { for(int j =i; j < 4; j++){ Console.WriteLine("i-Wert: {0}, J: {1} ", i,j); } }
i-Wert:0,J:0 i-Wert:0,J:1 i-Wert:0,J:2 i-Wert:0,J:3 i-Wert:1,J:1 i-Wert:1 ,J:2 i-Wert:1,J:3