Switch Function |
Microsoft.VisualBasic.Interaction
Switch( expr-1, value-1 [, expr-2, value-2 ... [, _ expr-n,value-n ]])
A number of expressions to be evaluated
An expression or value to return if the associated expression evaluates to True
An Object value or expression
Evaluates a list of expressions and, on finding the first expression to evaluate to True , returns an associated value or expression
A minimum of two expression/value pairs is required; additional pairs are optional.
Expressions are evaluated from left to right.
If none of the expressions is True , the Switch function returns Nothing .
If multiple expressions are True , Switch returns the value that corresponds to the first True expression.
value can be a constant, variable, or expression.
The GetTextColor function uses the Switch function to return an RGB color value that depends on the sign of the integer passed to it as a parameter. To access the Color structure, it imports the System.Drawing namespace of the Base Class Library.
Private Function GetTextColor(lValue As Integer) As Integer Dim fColor As New Color Dim iColor As Integer fColor = Switch(lValue > 0, Color.Blue, _ lValue = 0, Color.Black, _ lValue < 0, Color.Red) ' Convert color name to RGB color and strip out ' high order byte of high-order word iColor = fColor.ToArgb and &H00FFFFFF GetTextColor = iColor End Function
The Switch function can prove to be an efficient alternative to If...Then... Else statements, but it can't be used in situations where multiple lines of code are required to be executed on finding the first True expression.
Switch does not use short-circuiting . That is, even though it returns only the first True expression, it evaluates all expressions. As a result, Switch will generate a runtime error if any of these expressions are invalid.
Choose Function