Ich möchte meine Schleife wiederholen, solange die Breite unter 0,5 (MIN_BREITE) oder über 5,0 (MAX_BREITE) beide als Konstante doubles erstellt wird. Wenn ich die Zahl 0 schreibe, wird es so wiederholt, wie es sollte, aber wenn ich irgendetwas zwischen 0,1 - 0,4 schreibe, überspringt es die Schleife, warum?C# Do-while-Schleife funktioniert nicht, wie ich es brauche
do
{
Console.Write("Give the width of the window between " + MIN_WIDTH + " and " + MAX_WIDTH + " :");
widthString = Console.ReadLine();
width = double.Parse(widthString);
} while (width < MIN_WIDTH || width > MAX_WIDTH);
Haben Sie versucht, (wenn Sie VS verwenden), um die Lösung zu debuggen den Wert (e) zu überprüfen? – geostocker
@geostocker, Ich denke, der OP war ziemlich klar darüber, wie es nicht funktioniert ... Es überspringt die Schleife, wenn er es nicht erwartet. –
Können Sie einen Haltepunkt setzen und überprüfen, was der Wert von 'width' ist. Meine Vermutung ist, dass Ihre Gebietsschema-/Kultureinstellungen nicht mit Ihrer Eingabe übereinstimmen, also "0,1" als "1" und "0,4" als "4" parst. – Yakimych