Schleife

Arster-Boy

Erfahrenes Mitglied
Ich brauche eine Schleife, die etwas am Ende testet und sich wiederholt, wenn es der Fall sein sollte, dass die Forderung nicht erfüllt wurde.
 
Hallo,

meinst du eine fußgesteuerte Schleife?
Visual Basic:
Do
  '...
Loop While True

C#:
do
{
  // ...
} while(true);

Damit hast du immer mindest einen Schleifendurchlauf und - falls die Bedingung zutrifft - noch weitere.

Um festzustellen, ob eine Bedingung nicht erfüllt ist, musst du diese einfach insgesamt negieren bzw. statt Gleichheit auf Ungleichheit überprüfen. Bei VB.net kannst du in dem Fall statt "While" auch "Until" benutzen, um beim Eintreten einer Bedingung die Schleife abbrechen zu lassen.

Grüße, D.
 
Hi,

da, wo "true" steht, gehört die Bedingung hin, die entweder zum Abbruch oder zur Wiederholung der Schleife gehört. Da, wo der Kommentar steht, gehört der Code hin, der innerhalb der Schleife ausgeführt werden soll.

Beispiel:
Visual Basic:
Do
  Console.WriteLine("Zeile " + i)
  i = i + 1
Loop Until i = 10
Die Schleife wiederholt sich, bis die Variable i den Wert 10 erreicht hat.

Grüße, D.
 
Mit
Visual Basic:
Loop Until x = y
wird der Code ausgeführt, bis die Werte gleich sind.

Mit
Visual Basic:
Loop While x = y
wird der Code ausgeführt, solange die Werte gleich sind.

Durch Negation der Bedingung lässt sich das in jedem Fall umkehren:
Visual Basic:
Loop While x = y
ist identisch mit
Visual Basic:
Loop Until x <> y

Grüße, D.
 
Super!

Müsste dieser Code klappen?
Es soll keine Zahl unter 1000000 generiert werden:
Code:
        Randomize()
        Do
            yyy = (Int(99999998 * Rnd() + 1))
        Loop Until yyy < 1000000
 
Zurück