• Home
  • |
  • Blog
  • |
  • C# Tutorial [6/17] – C# While und Do-While Schleifen

C# Tutorial [6/17] – C# While und Do-While Schleifen

Zuletzt aktualisiert: Juni 28, 2023

Im heutigen Blogartikel werden wir die C# While und Do-While Schleifen kennenlernen. In den vergangenen Beiträgen hast du bereits gelernt, wie man den Programmablauf mithilfe von if Abfragen oder Switch Blöcken steuern kann. Schleifen ermöglichen uns nun, bestimmte Codeabschnitte mehrmals hintereinander ausführen zu lassen.

Da es heute um Schleifen geht, werde ich dir zunächst einmal erklären, was Schleifen eigentlich sind und wozu wir insbesondere die C# While und die Do-While Schleife verwenden.

Inhaltsverzeichnis

1. Was sind Schleifen?

Eine Schleife ist ein Codeabschnitt, den das Programm mehrmals hintereinander ausführt. Man kann mit einer Schleife beispielsweise einen Codeabschnitt so lange ausführen lassen, bis eine bestimmte Bedingung erfüllt ist. Des Weiteren kann man mit Schleifen Datenstrukturen wie etwa Listen und Tabellen durchlaufen. Dazu aber mehr in einem späteren Artikel.

Wichtig zu wissen ist also, dass Schleifen dafür da sind, einen bestimmten Codeblock mehrmals hintereinander ausführen zu lassen, anstatt nur ein einziges Mal und anschließend beim nächsten Codeblock weiterzumachen.

Das ist tatsächlich sehr nützlich und findet in der Praxis sehr häufig Anwendung.

Wie ich bereits anfangs erwähnt habe, werden wir uns heute die While und die Do-While Schleife in C# ansehen. Es gibt also verschiedene Arten von Schleifen. Neben diesen beiden wirst du in naher Zukunft noch weitere Schleifen kennenlernen. Das sind zum Beispiel die for Schleife und die foreach Schleife.

Beginnen wir nun also mit der C# While Schleife.

2. Die C# While Schleife

Die While Schleife kann man sich wie eine if Abfrage vorstellen, nur dass diese so lange ausgeführt wird und sich immer wieder wiederholt, bis die Bedingung nicht mehr erfüllt ist.

Auf dem folgenden Bild siehst du ein einfaches Beispiel:

c# while schleife beispiel

Wir haben eine Integer Variable namens zahl, die wir zunächst auf den Wert 1 gesetzt haben. Anschließend haben wir mit dem Schlüsselwort "while" eine While Schleife eingeleitet und wie bei einer if Abfrage auch ein Klammerpaar gesetzt, zwischen dem wir eine Bedingung bilden. Die Bedingung besagt hier, dass die Schleife so lange läuft wie die Variable zahl kleiner oder gleich dem Wert 10 ist.

Wenn wir beispielsweise nach der Ausführung des Codeblocks zahl um 1 erhöhen, prüft das Programm nochmals, ob die Bedingung immer noch erfüllt ist. Ist sie noch erfüllt, führt das Programm den Codeblock ein weiteres Mal aus.

Und dieser Prozess wiederholt sich so lange, bis die Bedingung schließlich ein false ergibt. Wenn die Bedingung false ist, geht es unter der Schleife weiter - der Codeblock wiederholt sich nicht mehr.

Wenn man die While Schleife auf Deutsch übersetzen würde, könnte man sagen:

Während diese Bedingung erfüllt ist, führe folgenden Code aus. Prüfe anschließend, ob sie immer noch erfüllt ist. Sollte das der Fall sein, führe den Code weiterhin aus, bis sie nicht mehr erfüllt ist.

Sehen wir uns nun einmal ein Praxisbeispiel in Visual Studio dazu an.

2.1. Die While Schleife in der Praxis

Um eine C# While Schleife zu erstellen, schreibt man das Schlüsselwort "while", gefolgt von einem Klammerpaar. In dieses Klammerpaar schreibt man wie bei einer if Abfrage auch eine Bedingung. Anders gesagt, einen booleschen Ausdruck, der ein true oder ein false zurückgibt.

Man kann also beispielsweise eine Integer Variable namens zahl erstellen, die ich anfangs auf den Wert 0 setze. Als Bedingung kann ich dann zum Beispiel formulieren: solange die Variable zahl kleiner ist als 100, erhöhe sie um 1 und gebe die Zahl anschließend aus:

c# while praxisbeispiel

Was passiert nun? Wenn wir das Programm starten, sehen wir die Zahlen von 1 bis 100 jeweils untereinander in der Konsole:

Praxisbeispiel Ausgabe auf der Konsole

Der Codeblock wurde also 100-mal ausgeführt. Und genau dafür nutzen wir Schleifen – nämlich um Code mehrmals hintereinander ausführen zu können.

Bei While Schleifen ist es so, dass wir wie bei if Abfragen auch eine einfache Bedingung bilden können. Diese Bedingung prüft das Programm dann erneut, wenn die Schleife einmal durchlaufen ist. Ist sie immer noch erfüllt, führt das Programm den Codeblock nochmals aus. Das geht so lange, bis die Bedingung ein false zurückliefert.

Wir können im Übrigen auch Folgendes umsetzen:

while true schleife

Wir schreiben in den Codeblock Console.WriteLine(„Hallo Welt“) und formulieren im Kopf der While Schleife keine Bedingung, sondern setzen lediglich ein true zwischen die Klammern.

So legen wir fest, dass die Bedingung immer true und damit konstant erfüllt ist. Dementsprechend führt das Programm die Schleife unendlich lange aus, wie wir es in der Ausgabe erkennen können:

while true ausgabe

Hier haben wir somit eine Dauerschleife (Endlosschleife) erstellt. Es wird nun also unendlich oft „Hallo Welt“ ausgegeben. Bei While Schleifen besteht die Gefahr, in unendlichen Schleifen gefangen zu sein. Dass man das beachtet, ist also sehr wichtig.

Wenn man eine Endlosschleife vermeiden möchte, sollte man die Bedingungen so bilden, dass sie irgendwann ein false zurückgeben.

Neben der C# While Schleife existiert noch die sogenannte Do-While Schleife. Diese werden wir uns jetzt ansehen.

3. Die C# Do-While Schleife

Die C# Do-While Schleife funktioniert eigentlich genau wie die While Schleife mit dem Unterschied, dass diese die Bedingung nicht am Anfang, sondern am Ende überprüft.

Dadurch ist garantiert, dass das Programm die Schleife mindestens einmal durchläuft, egal ob deren Bedingung erfüllt ist oder nicht. Sehen wir uns nun auch die Do-While Schleife an einem Praxisbeispiel an.

3.1. Die Do-While Schleife in der Praxis

An der While Schleife, die wir bereits im vorherigen Beispiel erstellt haben, möchte ich dir den Unterschied zur Do-While Schleife zeigen. Bei der C# While Schleife ist es ja so, dass die Bedingung oben im Schleifenkopf geprüft wird.

Bei einer Do-While Schleife prüft das Programm die Bedingung hingegen am Ende des Codeblocks, also am Fuß der Schleife. Und das macht einen großen Unterschied.

Wenn wir nun beispielsweise die Variable zahl von Anfang an auf den Wert 20 setzen, wird die Bedingung dieser While Schleife kein einziges Mal erfüllt sein:

c# while schleife beispiel 2

Wenn wir das Programm nun ausführen, sehen wir nichts in der Konsole:

leere Konsolenausgabe

Setzen wir den Wert der Variable zahl hingegen von Anfang an auf 0, bekommen wir tatsächlich die Zahlen von 1 bis 10 in der Konsole ausgegeben:

c# while schleife beispiel modifiziert
ausgabe des modifizierten beispiels

Wenn man bei einer normalen C# While Schleife von Anfang an die Bedingung nicht erfüllt, führt das Programm diesen Codeblock auch niemals aus.

Bei einer Do-While Schleife ist das jedoch anders. Die Do-While Schleife formuliert man in C# folgendermaßen:

c# do while beispiel

Am Anfang des Codeblocks schreibt man das Schlüsselwort "do" und am Ende des Codeblocks schreibt man while gefolgt von einem Klammerpaar mit der Bedingung und einem Semikolon.

Wenn wir den Wert der Variable zahl vorerst auf 0 lassen, sehen wir immer noch die Zahlen von 1 bis 10 in der Konsole:

ausgabe do while schleife

Setzen wir den Wert nun aber auf 20, führt das Programm den Code trotzdem mindestens einmal aus. Nun sehen wir in der Konsole den Wert 21:

c# do while beispiel modifiziert
c# do while beispiel modifiziert ausgabe

Bei der While Schleife wäre diese 21 nicht zu sehen, denn bei dieser prüft das Programm schließlich bereits im Kopf die Bedingung. Das bedeutet, dass es zur Ausführung dieses Codeblocks niemals kommen wird.

Bei der Do-While Schleife führt das Programm, wie wir bereits gesehen haben, den Codeblock mindestens einmal aus.

Und damit sind wir auch schon am Ende dieses Beitrags angekommen! Ich hoffe, du hast verstanden, wie die C# While und die Do-While Schleife funktionieren.

In den kommenden Beiträgen werden wir uns noch weitere Schleifentypen ansehen. Es wird also noch wesentlich interessanter. Jetzt empfehle ich dir, selbst ein paar eigene Schleifen zu erstellen und mit diesen zu experimentieren, damit du das Ganze noch besser nachvollziehen kannst.