JavaScript Editor JavaScript Editor     JavaScript Debugger

Previous Section Next Section

Main Page

Using Select Case

You have to get a value from the user and respond in several different ways, but you're not looking forward to a long and tangled series of IfThenElse statements. What can you do?

If your program can handle multiple values of a particular variable and you don't want to stack up a lot of If Else statements to handle them, you should consider Select Case. You use Select Case to test an expression, determine which of several cases it matches, and execute the corresponding code. Here's the syntax:

Select Case testexpression
[Case expressionlist-n
[Case Else
End Select

You use multiple Case statements in a Select statement, each specifying a different value to test against textexpression, and the code in the Case statement that matches is executed.

Here's an example using Select Case. In this example, I'm modifying the code from the previous topic to use Select Case instead of IfThen. Note that I'm also using the Select Is keyword, which you can use like this: Case Is condition, allowing you to test testexpression against some condition (such as Case Is > 7). You can also test testexpression against a range of values with the To keyword (such as Case 4 To 7). And Case Else can handle values we don't explicitly provide code for-it's just like the Else statement in an IfThen statement, because the code in it is executed if no other case matches. Here's the code:

Module Module1
    Sub Main()
        Dim intInput As Integer
        System.Console.WriteLine("Enter an integer")
        intInput = Val(System.Console.ReadLine())
        Select Case intInput
            Case 1
                System.Console.WriteLine("Thank you.")
            Case 2
                System.Console.WriteLine("That's fine.")
            Case 3
            Case 4 To 7
                System.Console.WriteLine("In the range 4 to 7.")
            Case Is > 7
                System.Console.WriteLine("Definitely too big.")
            Case Else
                System.Console.WriteLine("Not a number I know.")
        End Select
    End Sub
End Module
Previous Section Next Section

JavaScript Editor Free JavaScript Editor     JavaScript Editor