3.5 Kontrollstrukturen
 
Bei den Kontrollstrukturen bietet VB.NET wenig Überraschungen. Wer VB bereits kennt, muss hier nicht umlernen.
3.5.1 Entscheidungen mit If
 
Einzelne Entscheidungen werden mit Hilfe von If ... ElseIf ... Else ... End If gefällt:
Dim d As Date
d = now.Date ' Datum mit Uhrzeit auf 00:00:00
Dim s As String
If d < #12/31/2003# Then
s = "Die Zukunft hat noch nicht begonnen. "
ElseIf d = #12/31/2003# Then
s = "Heute ist ein großer Tag!"
Else
s = "Die Zukunft hat begonnen!"
End If
3.5.2 Select Case
 
Bei zahlreichen Optionen ist eine Select Case-Struktur übersichtlicher.
Dim d As Date
d = now.date ' Datum mit Uhrzeit auf 00:00:00
Dim s As String
Select Case d.Month
Case 1
s = "Das ist der Januar. "
Case 2 To 5
s = "Das ist Februar bis Mai."
Case Is > 12
s = "Das ist erstaunlich. "
Case Else
s = "Das ist Juni bis Dezember. "
End Select
3.5.3 Zählschleife mit For Next
 
VB.NET bietet die üblichen Schleifen. Wenn die Anzahl der Schleifendurchläufe feststeht, bietet sich die zählergesteuerte For ... Next-Schleife an.
Dim s As String
Dim i As Integer
For i = 1 to 5 Step 1
s &= CStr(i)
Next
' s enthält anschließend den String "12345"
Mit Exit For kann eine For ... Next-Schleife vorzeitig verlassen werden.
Dim s As String
Dim i As Integer
For i = 1 to 5 Step 1
s &= CStr(i)
if s = "123" Then Exit For
Next
3.5.4 Schleife mit Do Loop
 
Verschiedene Varianten kennt die Do ... Loop-Schleife.
Dim i As Integer
i = 0
Do
i += 1
Loop Until i > 10
Die Abbruchbedingung kann alternativ auch mit While formuliert werden. Für das Beispiel ergäbe sich :
Loop While i < 11
Außerdem ist es möglich, die Schleifenaustrittsbedingung hinter Do zu positionieren:
Do While i < 11
i += 1
Loop
oder
Do Until i > 10
i += 1
Loop
Auch Do ... Loop-Schleifen können vorzeitig verlassen werden. Exit Do heißt der entsprechende Befehl.
3.5.5 Schleife mit While
 
Die While-Schleife funktioniert im Prinzip nicht anders als die Do ... Loop-Schleife.
While i < 11
i += 1
End While
Mit End While kann eine While-Schleife vorzeitig verlassen werden.
|