The Select...Case allows you to test a variable for equality against a set of values.
The basic syntax of the Select...Case statement is shown below.
Select [ Case ] testexpression
[ Case expressionlist
[ statements ] ]
[ Case Else
[ elsestatements ] ]
End Select
testexpressionIt is a required expression and must evaluate to one of the elementary data types such as Boolean, Byte, Char, Date, Double, Decimal, Integer, Long, Object, SByte, Short, Single, String, UInteger, ULong, and UShort.
expressionlistIt is required in a Case statement. The list of expression clauses representing match values for testexpression. Multiple expression clauses are separated by commas. Each clause can take one of the following forms.
expression1 To expression2Is] comparisonoperator expressionexpressionstatementsIt is an optional and one or more statements following Case that run if testexpression matches any clause in expressionlist.
elsestatementsIt is also an optional and one or more statements following Case Else that run if testexpression does not match any clause in the expressionlist of any of the Case statements.
Let's consider the following simple example of a Select...Case statement.
Public Sub Example1()
Dim caseSwitch As Integer = 1
Select Case caseSwitch
Case 1
Console.WriteLine("Case 1")
Case 2
Console.WriteLine("Case 2")
Case Else
Console.WriteLine("Default case")
End Select
End Sub
You can also use multiple expressions or ranges in each Case clause as shown below.
Case 1 To 4, 7 To 9, 11, 13, Is > maxNumber
The following example uses a Select Case to write a message based on the value of the variable number.
Public Sub Example2()
Dim number As Integer = 8
Select Case number
Case 1, 2, 3
Debug.WriteLine("Between 1 and 3")
Case 4 To 8
Debug.WriteLine("Between 4 and 8")
Case Is <= 15
Debug.WriteLine("Between 9 and 15")
Case Else
Debug.WriteLine("Greater than 15")
End Select
End Sub
Module