2013-04-17 9 views
15

Was ist der Unterschied zwischen Do While wo die Anweisung ist die erste Zeile im Loop-Block und nur die einzige Während in VB.NET?Was ist der Unterschied zwischen while und while in VB.NET?

Sie scheinen keinen Unterschied im Verhalten zu bieten.

+1

@Tim Nein, nicht verwandt. –

+0

Es gibt keinen Unterschied. Einer ist aus Legacy-Gründen da. BASIC ist eine unerschöpfliche Sprache, und Vb.Net trägt immer noch etwas von diesem Gepäck, z. 'Mid (MyStr, 2) =" Hi ", willst du raten, was das ist? –

Antwort

21

In Visual Basic diese sind identisch:

Dim foo As Boolean = True 

    While Not foo 
     Debug.WriteLine("!") 
    End While 

    Do While Not foo 
     Debug.WriteLine("*") 
    Loop 

Diese sind nicht; Die do wird einmal ausgeführt:

Dim foo As Boolean = True 

    While Not foo 
     Debug.WriteLine("!") 
    End While 

    Do 
     Debug.WriteLine("*") 
    Loop While Not foo 
+2

Der Vollständigkeit halber: 'Do While Not ...' kann als 'Do Until' geschrieben werden. –

+1

Ehrlich gesagt, vermeide ich aktiv 'Do Until'. Ich habe auch gesehen, dass Leute damit endlos Schleifen in den Produktionscode werfen können. – valverij

+0

Großartig, das ist die Erklärung, die ich suchte. – jaffa

-4

Do While wird zuerst ausgeführt und überprüft dann, ob sie gültig ist. While prüft zuerst und führt dann aus.

while (1!=1){ echo 1} 

ausgeben wird nichts

Aber

do{echo 1} while (1!=1) 

Willen Ausgang 1 einmal.

+1

Ich frage nicht über den Unterschied zwischen do {} while und while {} während while. Ich spreche von dem, während {}. – jaffa

+0

Es gibt keine Sache, während {} in C# AFAIK – Borniet

+0

Was ist mit VB.NET obwohl? – jaffa

Verwandte Themen