veröffentlicht am: 21.05.2020 zuletzt aktualisiert am: 07.02.2023
Oftmals führen wir ähnlichen Code mehrmals hintereinander aus. Um dies zu vereinfachen bedienen wir uns oft sogenannten Schleifen.Zwei der Möglichkeiten dafür sind in C# while und do–while.Diese beiden möchte ich dir gerne in diesem Artikel vorstellen.
Um eine Schleife mit while zu verwenden, musst du nur eine Bedingung definieren, unter der bestimmter Quellcode ausgeführt wird.
while (Bedingung) { // auszuführender Quellcode }
Die Bedingung für eine while-Schleife kann ein einfacher boolescher Ausdruck sein.Die Schleife wird so lange ausgeführt, bis die Bedingung nicht mehr true ist.
int i = 2; while (i < 5) { Console.WriteLine($"i: {i}"); i++; }
i: 2 i: 3 i: 4
Wenn du nur true als Bedingung übergibst, erzeugst du eine Endlosschleife.Das folgende Beispiel schreibt „Hello World!“ in die Konsole, bis das Programm von außen abgebrochen wird.
while (true) { Console.WriteLine("Hello World!"); }
Mit break kannst du die Ausführung einer Schleife beenden. Am besten verwendest du diese Anweisung in Kombination mit einer weiteren Überprüfung.
int i = 0; while (i < 6) { i++; if (i == 3) { break; } Console.WriteLine(i); }
1 2
Das vorige Beispiel hat die Ausführung der Schleife beendet, da innerhalb des if-Statements eine break-Anweisung formuliert wurde.Mit continue kannst du die aktuelle Iteration der Schleife beenden und die Nächste beginnen.
int i = 0; while (i < 6) { i++; if (i == 3) { continue; } Console.WriteLine(i); }
1 2 4 5 6
Das vorige Beispiel hat durch die Verwendung von continue den Wert 3 übersprungen.
Du kannst auch eine neue Schleife innerhalb einer Schleife erstellen.
int i = 0; while (i < 2) { Console.WriteLine($"i: {i}"); i++; int j = i; while (j < 3) { Console.WriteLine($"j: {j}"); j++; } }
i: 0 j: 1 j: 2 i: 1 j: 2
Du kannst deine Bedingung auch als Methode übergeben, sofern diese einen Boolean zurückgibt. In dieser kannst du auch weitere Anweisungen formulieren.Im folgenden Beispiel wird der Code vollständig in der Bedingung ausgeführt.
static void Main(string[] args) { while(Methode()) {; } } static int static_int = 0; static bool Methode() { Console.WriteLine(static_int); static_int++; return static_int < 5; }
0 1 2 3 4
Du kannst auch erst den Quellcode, der ausgeführt werden soll, definieren und danach die Bedingung. Dafür musst du zuerst do angeben, danach while mit der Bedingung.
i = -1; do { Console.WriteLine(i); i++; } while (i < 0); // -1
Das hat zur Folge, dass die Schleife immer mindestens einmal ausgeführt wird, auch wenn die Auswertung der Bedingung schon beim ersten Durchlauf false ergibt.
int i = 1; do { Console.WriteLine(i); } while (i < 0); // 1
Du kannst break in Kombination mit do genauso anwenden, wie nur mit while.
int i = 0; do { i++; if (i == 3) { break; } Console.WriteLine(i); } while (i < 5);
Das gleiche gilt für continue.
int i = 0; do { i++; if (i == 3) { continue; } Console.WriteLine(i); } while (i < 5);
1 2 4 5
while-Schleifen sind eine sehr einfache Möglichkeit, ähnlichen Code mehrfach hintereinander auszuführen. Mit do kannst du sicherstellen, dass die Anweisungen mindestens einmal ausgeführt werden. break und continue lassen dich den Schleifenablauf genauer manipulieren. Zwei weitere mögliche Schleifen sind for und foreach, zu denen wir hier einen Artikel haben.
Hast du Fragen oder Verbesserungsvorschläge? Schreib es bitte in die Kommentare!
😩 Gelangweilt von den Udemy & YouTube-Tutorials?!
Lerne spielerisch Python, Java & SQL und komme deiner gutbezahlten (und an der 🌴 liegenden) Traumkarriere einen Schritt weiter.
"Für Leute die gerne Python oder Java lernen wollen ist Codegree klasse. Ist nicht wie bei anderen Konkurrenten auf Videokursen aufgebaut..."
- Lennart Sparbier
100% kostenlos registrieren · keine Kreditkarte notwendig
Im Gegensatz zu der Abendschule oder der alteingesessenen Uni lernst du bei codegree die Sprachen & Pakete, die wirklich im Jobmarkt gesucht werden.
100% kostenlos registrieren · keine Zahlungsdaten notwendig