Switch Function

   
Switch Function

Class

Microsoft.VisualBasic.Interaction

Syntax

 Switch(   expr-1, value-1   [,   expr-2, value-2   ... [, _   expr-n,value-n   ]]) 
expr (required; Object)

A number of expressions to be evaluated

value (required; Object)

An expression or value to return if the associated expression evaluates to True

Return Value

An Object value or expression

Description

Evaluates a list of expressions and, on finding the first expression to evaluate to True , returns an associated value or expression

Rules at a Glance

  • 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.

Example

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 

Programming Tips and Gotchas

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.

Programming Tips and Gotchas

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.

See Also

Choose Function

   


VB.Net Language in a Nutshell
VB.NET Language in a Nutshell
ISBN: B00006L54Q
EAN: N/A
Year: 2002
Pages: 503

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net