[VB.NET] Schleifen

andreas_gierisch

Erfahrenes Mitglied
Hallo!
Ich bin gerade dabei von C++, Java, C# und ähnlichem, auf VB.NET umzusteigen. Leider habe ich noch einige Schwierigkeiten mich an die ungewohnte Syntax zu gewöhnen. Meine simple Frage daher, welche sicher schnell beantwortet sein dürfte...
Ich möchte folgende while-Schleife in VB-Code konvertieren:

Code:
while(!reader1.EndOfStream())
{
   //...
}
Nachfolgende VB-Schleifen sollten genau das gleiche machen, sofern ich das richtig sehe. Welche ist davon die sauberste/schnellste Variante bzw. gibt es noch eine bessere?

1.
Code:
While Not reader1.EndOfStream()
   '...
End While
2.
Code:
Do While Not reader1.EndOfStream()
   '...
Loop
3.
Code:
Do Until reader1.EndOfStream()
   '...
Loop
4.
Code:
Do
   If reader1.EndOfStream() Then Exit Do
   End If
      '...
Loop
Wobei "While Not" und "Until" (Bsp. 2 und 3) ja das Gleiche sein dürften.
Persönlich würde ich die erste Variante bevorzugen, da mich diese eher an andere Sprachen erinnert. Allerdings möchte ich mich darauf nicht festlegen, sondern eher die allgemein bevorzugte Variante nutzen.
Vielen Dank im Voraus!
 
Hi,

Variante 4 würde ich nicht benutzen, macht hier keinen Sinn und ist unschön.

Man muss sich die Frage stellen warum bzw. wie lange die Schleife ausgeführt werden kann. Also, "Laufe bis ein gewisser Zustand erreicht ist", bzw. "Laufe, solange ein gewisser Zustand aktiv ist"

In deinem konkreten Fall soll die Schleife laufen bis das Ende des Streams erreicht wurde. Ich würde somit die Until-Variante vorziehen.

//Edit:
Das gilt jetzt nur für VB.NET -> Ich selbst programmiere eigentlich nur C# und würde aus diesem Gesichtspunkt dann eher While Not verwenden. Aber für VB macht das Until mehr Sinn
 

Neue Beiträge

Zurück