CodeGym /Kurse /C# SELF /Die do-while Schleife: Einführung und Besonderheiten

Die do-while Schleife: Einführung und Besonderheiten

C# SELF
Level 4 , Lektion 3
Verfügbar

1. Einführung in die do-while Schleife

Lass uns mal kurz abschweifen und uns vorstellen: Du willst ein Programm schreiben, das eine vom Benutzer ausgedachte Zahl errät. Das Programm soll den Benutzer mindestens einmal nach einer Zahl fragen und immer wieder fragen, bis es richtig ist. Aber wenn die Bedingung beim ersten Mal schon nicht passt, geht eine normale while gar nicht erst in die Schleife rein.

Genau hier kommt die do-while Schleife ins Spiel. Im Gegensatz zur while wird der Schleifenkörper immer mindestens einmal ausgeführt – selbst wenn die Bedingung direkt falsch ist. Das ist so, als würdest du einen Kaugummi gratis bekommen, egal ob du was gekauft hast oder nicht.

do
{
    // Schleifenkörper: Dieser Code läuft mindestens einmal
}
while (Bedingung);
Syntax der do-while Schleife

Achte auf das Semikolon ; am Ende nach der Klammer der Bedingung! Bei der normalen while gibt's das nicht, aber hier schon. So ein kleiner Stolperstein für Einsteiger :)

Ablauf der do-while Schleife

  1. Einstieg in den Schleifenkörper (immer mindestens einmal).
  2. Bedingung prüfen.
  3. Wenn die Bedingung wahr ist – Schleifenkörper wiederholen.
  4. Wenn die Bedingung falsch ist – Schleife verlassen.

2. Unterschied zur normalen while

Erinnern wir uns an das Standard-Szenario der normalen while:

while (Bedingung)
{
    // Schleifenkörper
}

Der Schleifenkörper wird kein einziges Mal ausgeführt, wenn die Bedingung von Anfang an falsch ist!

Jetzt ein Beispiel mit do-while:

do
{
    // Schleifenkörper
}
while (Bedingung);

Der Schleifenkörper läuft mindestens einmal, selbst wenn die Bedingung sofort falsch ist!

Lass uns den Unterschied mal im Code zeigen:

// Normale while
int count = 0;
while (count > 0)
{
    Console.WriteLine("anzahl = " + count);
    count--;
}
// Es wird nichts ausgegeben

// do-while
int count2 = 0;
do
{
    Console.WriteLine("anzahl2 = " + count2);
    count2--;
}
while (count2 > 0);
// Gibt "anzahl2 = 0" aus, obwohl die Bedingung falsch ist!

Manchmal wirkt das wie ein "Kuriosum", aber genau dieses Verhalten rettet dir manchmal den Code (zum Beispiel bei Benutzereingaben und Datenvalidierung).

3. Praktische Einsatzszenarien für do-while

Wo taucht diese Schleife am häufigsten auf?

Datenvalidierung

Das beliebteste Szenario: Du willst, dass der User etwas Richtiges eingibt (zum Beispiel nur Zahlen oder ein Passwort mit mindestens 6 Zeichen) und fragst so lange nach, bis die Eingabe passt.

string passwort;
do
{
    Console.Write("Gib ein neues Passwort ein (mindestens 6 Zeichen): ");
    passwort = Console.ReadLine();
}
while (passwort.Length < 6);

Console.WriteLine("Passwort akzeptiert!");

In diesem Beispiel läuft der Schleifenkörper mindestens einmal – auch wenn der User direkt ein langes Passwort eingibt.

Menü in Konsolenanwendungen

Sehr oft und super praktisch: Menü anzeigen, auf User-Befehl warten und die Schleife nur mit einem speziellen Befehl beenden.

string befehl;
do
{
    Console.WriteLine("Menü:");
    Console.WriteLine("1. Begrüßung anzeigen");
    Console.WriteLine("2. Beenden");
    Console.Write("Wähle eine Aktion: ");
    befehl = Console.ReadLine();

    if (befehl == "1")
    {
        Console.WriteLine("Hallo, Welt!");
    }
    else if (befehl != "2")
    {
        Console.WriteLine("Unbekannter Befehl.");
    }
}
while (befehl != "2");

Console.WriteLine("Tschüss!");

4. Vergleich von while und anderen Schleifen

Schleifentyp Bedingungsprüfung Wie oft kann der Körper laufen Wann sinnvoll
while Vorher 0 oder mehrmals Wenn man die Anzahl der Wiederholungen nicht vorher kennt
do-while Nachher 1 oder mehrmals Wenn mindestens einmal ausgeführt werden soll
for Vorher 0 oder mehrmals Wenn die Anzahl der Durchläufe vorher klar ist
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION