Mein Lehrbuch gibt folgende Aussage über den folgenden Code:
* * "Der Computer wertet die Schleifenbedingung in der Anweisung Do ... Loop aus, um zu bestimmen, ob die Schleifenanweisungen verarbeitet werden sollen. In diesem Fall sind die Eingaben & lt; & gt; String.Empty Bedingung vergleicht den Inhalt der Eingabeverkaufsvariable mit dem String.Empty-Wert.Wie Sie wissen, stellt der String.Empty-Wert eine Nulllänge oder eine leere Zeichenfolge dar, wenn die Variable für den Eingabevorgang leer ist, die Schleifenbedingung wird mit True und dem Computerprozess ausgewertet Die Schleifenanweisungen. * Wenn andererseits die Variable für die Eingabe von Daten nicht leer ist, wird die Schleifenbedingung als falsch ausgewertet und der Computer überspringt die Schleifenanweisungen.
Basierend auf dem Code, denke ich, ist es das Gegenteil: ... dass der Inputsales-Wert nicht leer ist, sollte er als true ausgewertet werden und die Schleife verarbeiten. Wenn er leer ist, sollte er auf false ausgewertet werden und die Schleife überspringen? Siehe unten. Vielen Dank für die Hilfe!
%Vor%Sie haben definitiv Recht, und das Buch ist falsch (hoffentlich hat der Autor das Wahr / Falsch zufällig umgekehrt, sonst würde ich ein anderes Buch bekommen). Meine vorgeschlagene Korrektur (mit ein paar Ergänzungen):
Wie Sie wissen, repräsentiert der String.Empty-Wert eine leere Zeichenfolge (null). Wenn die Variable
inputsales
nicht leer ist, wird die Schleifenbedingung alsTrue
ausgewertet, und der Computer verarbeitet die Schleifenanweisungen (und springt dann zum Anfang der Schleife zurück und bewertet die Bedingung erneut). Wenn andererseits die Variableinputsales
leer ist, wird die Schleifenbedingung zuFalse
ausgewertet, und der Computer überspringt die Schleifenanweisungen (und fährt mit der ersten Anweisung nach der Schleife fort). .
Wie @xanatos sagte: Glückwunsch, dass du deinen ersten Fehler im Text von jemand anderem gefunden hast. Also +1 für die Frage, und ich würde sagen, dass dies für Ihre Programmierkarriere vielversprechend erscheint. : -)
Tags und Links vb.net while-loop