TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
 Specialized Dev Zones Research Center eBook Library .NET Java C++ Web Dev Architecture Database Security Open Source Enterprise Mobile Special Reports 10-Minute Solutions DevXtra Blogs Slideshow
 Sign up for e-mail newsletters from DevX

Language: VB4,VB5,VB6,VBS
Expertise: beginner
Oct 16, 1999

### WEBINAR:On-Demand

Building the Right Environment to Support AI, Machine Learning and Deep Learning

# Write concise code with the Switch function

Many VB developers don't realize that the Switch built-in function can often save a lot of code. This function takes any number of (expr, value) pairs, it evaluates all expressions and return the value related to the first expression that is found to be True. Typically you can use a Switch function to replace a If...ElseIf block, as in:
``````
' the standard way
If x = 0 Then
result = 100
ElseIf x < y Then
result = x
ElseIf x > y Then
result = y
Else
' X = Y and X <> 0
result = 200
End If

' the more concise code
' Note that the Else clause is rendered with a True constant
result = Switch(x = 0, 100, x < y, x, x > y, y, True, 200)
``````
If no expressions in the list returns a non-zero value, the Switch function returns Null. If you want to avoid this, just use True for the last expression in the list, as in the above example.

It is important to note that the Switch function always evaluate all the arguments passed to it, so you get an error whenever any argument is invalid, for example:

``````
' the following statement raises a "Division by Zero" error if Y=0
MsgBox Switch(x = 0, "X is zero", y = 0, "Y is zero", True, "X/Y = " & x / y)
``````

You can use the Switch function to quickly evaluate the minimum and the maximum of three values:

``````
' the minimum of n1, n2, n3
min = Switch(n1 <= n2 And n1 <= n3, n1, n2 <= n1 And n2 <= n3, n2, True, n3)

' the maximum of n1, n2, n3
max = Switch(n1 >= n2 And n1 >= n3, n1, n2 >= n1 And n2 >= n3, n2, True, n3)
``````
Francesco Balena

 Submit a Tip Browse "XML" Tips Browse All Tips
Comment and Contribute

(Maximum characters: 1200). You have 1200 characters left.

Thanks for your registration, follow us on our social networks to keep up-to-date