Menu
Coddy logo textTech

Endlosschleife

Teil des Abschnitts Grundlagen der C#-Journey von Coddy — Lektion 47 von 69.

Eine Endlosschleife ist eine Schleife, die niemals stoppt, da ihre Bedingung immer als true ausgewertet wird. Diese Schleifen können bei jedem Schleifentyp auftreten (for, while, do-while), aber sie werden am häufigsten mit while- und do-while-Schleifen in Verbindung gebracht, da deren Bedingungen explizit angegeben werden.

Hier ist ein Beispiel für eine unendliche while-Schleife:

while (true) {
    Console.WriteLine("This will print forever!");
}

In diesem Fall ist die Bedingung einfach true, was immer zu true ausgewertet wird. Somit wird die Schleife unendlich lange laufen und die Nachricht immer und immer wieder ausgeben.

Eine weitere Möglichkeit, eine Endlosschleife zu erstellen, besteht darin, die Bedingung in einer for-Schleife wegzulassen:

for (;;) {
    Console.WriteLine("This also prints forever!");
}

Hier werden die Initialisierungs-, Bedingungs- und Aktualisierungsteile der for-Schleife alle weggelassen. Dies erzeugt eine Schleife, die ewig läuft.

Endlosschleifen können auch unbeabsichtigt auftreten, zum Beispiel wenn die Bedingung der Schleife aufgrund eines Logikfehlers immer true ist:

int i = 0;
while (i < 10) {
    Console.WriteLine("i is: " + i);
    // i++ fehlt, um i zu erhöhen
}

In diesem Beispiel wird die Variable i nie inkrementiert, sodass die Bedingung i < 10 immer true ist. Dies erzeugt eine Endlosschleife, die unendlich lange „i is: 0“ ausgibt.

Endlosschleifen können in einigen Fällen nützlich sein, wie zum Beispiel bei Serverprogrammen, die weiterlaufen müssen, bis sie manuell gestoppt werden. Sie können jedoch auch dazu führen, dass Programme einfrieren oder abstürzen, wenn sie nicht ordnungsgemäß gehandhabt werden.

Spickzettel

Eine Endlosschleife ist eine Schleife, die niemals stoppt, da ihre Bedingung immer als true ausgewertet wird.

Beabsichtigte unendliche while-Schleife:

while (true) {
    Console.WriteLine("This will print forever!");
}

Unendliche for-Schleife mit ausgelassenen Teilen:

for (;;) {
    Console.WriteLine("This also prints forever!");
}

Unbeabsichtigte Endlosschleife (fehlende Inkrementierung):

int i = 0;
while (i < 10) {
    Console.WriteLine("i is: " + i);
    // Fehlendes i++, um i zu inkrementieren
}

Probier es selbst

Diese Lektion enthält keine Programmieraufgabe.

quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen