Control Flow: Decisions
6.1 If...Then...Else
If temperature > 30 Then
Console.WriteLine("Hot")
ElseIf temperature > 15 Then
Console.WriteLine("Pleasant")
Else
Console.WriteLine("Cold")
End If
If isReady Then Console.WriteLine("Go!") ' single-line If
If x > 0 Then y = 1 Else y = -1 ' single-line If...Else6.2 Select Case
There's no fall-through between cases. Only the first matching Case runs.
Select Case score
Case 90 To 100
grade = "A"
Case 80 To 89
grade = "B"
Case 70, 75, 79 ' list of values
grade = "C"
Case Is < 70 ' comparison
grade = "F"
Case Else
grade = "Invalid"
End Select
Select Case command.ToLower()
Case "start", "run" : StartJob()
Case "stop" : StopJob()
Case Else : Console.WriteLine("Unknown")
End Select
Select Case True ' evaluate arbitrary conditions in order
Case age < 13 : category = "Child"
Case age < 20 : category = "Teen"
Case Else : category = "Adult"
End Select6.3 Choose and Switch Functions (Legacy, Microsoft.VisualBasic)
Dim dayName = Choose(2, "Mon", "Tue", "Wed") ' "Tue" (1-based)
Dim size = Switch(n < 10, "small", n < 100, "medium", True, "large")