Moin,
ich hab aus meinem Buch einen Code abgeschrieben und habe ja auch alles verstanden, ausser einer Sache, es ging da grad um die while-Schleife. Also hier der Codeabschnitt:
while (true)
{
Console.Write("Guthaben eingeben: ");
string sGuthaben = Console.ReadLine();
dGuthaben = Convert.ToDecimal(sGuthaben);
if (dGuthaben >= 0)
{
break;
}
Console.WriteLine("Nö, keine negativen Werte...");
Console.WriteLine("NOCHMAL!!!");
Console.WriteLine();
}
Was das bedeutet ist ja klar: Wenn das Guthaben größer oder gleich Null ist, dann wird die while-Schleife mit break verlassen, ansonsten Fehlermeldung und Guthaben nochmal eingeben.
Meine Frage ist jetzt, warum muss ich while (true) eingeben? Das verstehe ich nicht.
Gruß K.I.T.T.
Hallo K.I.T.T.,
bitte von alleine CodeTags verwenden. [Hinweis] Wie poste ich richtig? Punkt 6.
Da die Schleifen-Bedingung in der Mitte des Schleifenrumpfs geprüft werden soll, setzt man while (true) ein. Die while-Schleife wird dadurch immer durchlaufen bis sie mit break verlassen wird.
herbivore
Ist übrigens ziemlich unschön ... aber nur so nebenbei g
Lieber eine rekursive Main() Methode ...
Hallo hauptmann,
ich widerspreche dir ungerne, muss es aber trotzdem tun. Hier Rekursion zu verwenden wäre völlig verfehlt. Für eine rekursive Main() Methode kann ich mir ohnehin nur in sehr weniger Fällen als sinnvolle Option vorstellen.
Ich finde middle-checked-loops außerdem oft sehr elegant. Schade ist eigentlich nur, dass es dafür kein besonderes Schlüsselwort gibt.
herbivore
Original von K.I.T.T.
Meine Frage ist jetzt, warum muss ich while (true) eingeben? Das verstehe ich nicht.
Gruß K.I.T.T.
Eine while - Schleife testet immer auf wahr oder falsch (true oder false).
Solange der Wert in dem Schleifenkopf true ist, wird der gesamte Inhalt des Blockes wiederholt. Das endet, wenn man den Wert auf false setzt - oder wie in diesem Fall - die Schleife mit break verlässt.
Führe einen Krieg gegen Dummheit und Ignoranz - du hast ihn verloren, bevor er beginnt.