Programming Tutorials

Using Select Case in

By: Steven Holzner in Tutorials on 2008-11-25  

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 If-Then-Else 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 If-Then. 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 If-Then 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

Add Comment

* Required information


No comments yet. Be the first!

Most Viewed Articles (in )

Latest Articles (in