English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C# bietet While-Schleifen, die so lange wiederholt werden, bis die angegebene Bedingung 'false' zurückgibt.
Syntax:
while(condition) { //Codeblock }
Eine While-Schleife beginnt mit dem Schlüsselwort 'while' und muss eine boolesche Bedingungsbedeutung in Klammern enthalten, die 'true' oder 'false' zurückgibt. Sie führt einen Codeblock aus, bis die angegebene Bedingungenbedeutung 'false' zurückgibt.
Diese for-Schleife enthält Initialisierung und Erhöhung/Abzugsbetrag. Beim Verwenden einer While-Schleife sollten Sie die Initialisierung vor dem Beginn der Schleife abschließen und die Erhöhung oder Verringerungsschritte innerhalb der Schleife durchführen.
int i = 0; // Initialisierung while (i < 10) //Bedingung { Console.WriteLine("i = {0}", i); i++; // Erhöhen }
i = 0 i = 1 i = 2 i = 3 i = 4 i = 5 i = 6 i = 7 i = 8 i = 9
Der obige While-Loop enthält eine Ausdrucksweise i <10. In der While-Schleife wird i verwendet ++den Wert von i erhöhen1. Wenn der Wert von i gleich10und die Bedingung i <10Wenn 'false' zurückgegeben wird, wird der obige While-Loop ausgeführt.
Verwenden Sie den Schlüsselwort 'break' oder 'return', um unter bestimmten Bedingungen die While-Schleife zu verlassen, wie in folgendem Beispiel gezeigt.
int i = 0; while (true) { Console.WriteLine("i = {0}", i); i++; if (i > 10) break; }
Stellen Sie sicher, dass das Ergebnis der Berechnung des Bedingungensexpressions falsch ist oder unter bestimmten Bedingungen die While-Schleife verlassen wird, um unendliche Schleifen zu vermeiden. Der folgende Loop fehlt eine angemessene Bedingung oder den Abbruch der Schleife, was ihn zu einer unendlichen While-Schleife macht.
int i = 0; while (i > 0) { Console.WriteLine("i = {0}", i); i++; }
C# ermöglicht es, while-Schleifen in einer anderen while-Schleife zu verwenden, wie folgt. Es wird jedoch nicht empfohlen, verschachtelte while-Schleifen zu verwenden, da dies schwer zu debuggen und zu warten ist.
int i = 0, j = 1; while (i < 2) { Console.WriteLine("i = {0}", i); i++; while (j < 2) { Console.WriteLine("j = {0}", j); j++; } }
i = 0 j = 1 i = 1