Interaction.Switch(Object[]) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Evaluates a list of expressions and returns an Object
value corresponding to the first expression in the list that is True
.
public:
static System::Object ^ Switch(... cli::array <System::Object ^> ^ VarExpr);
public static object? Switch (params object?[]? VarExpr);
public static object Switch (params object[] VarExpr);
static member Switch : obj[] -> obj
Public Function Switch (ParamArray VarExpr As Object()) As Object
Parameters
- VarExpr
- Object[]
Required. Object
parameter array. Must have an even number of elements. You can supply a list of Object
variables or expressions separated by commas, or a single-dimensional array of Object
elements.
Returns
Evaluates a list of expressions and returns an Object
value corresponding to the first expression in the list that is True
.
Exceptions
Number of arguments is odd.
Examples
The following example uses the Switch
function to return the name of a language that matches the name of a city. It requires that Option Strict
be Off
.
Function matchLanguage(ByVal cityName As String) As String
Return CStr(Microsoft.VisualBasic.Switch(
cityName = "London", "English",
cityName = "Rome", "Italian",
cityName = "Paris", "French"))
End Function
Because the System.Diagnostics namespace also contains a class called Switch, a call to the Switch
function must be qualified with the Microsoft.VisualBasic namespace.
Remarks
The argument supplied to VarExpr
consists of paired expressions and values. The Switch
function evaluates the odd-numbered expressions from lowest to highest index in VarExpr
, and returns the even-numbered value associated with the first expression that evaluates to True
. For example, if VarExpr(0)
is True
, Switch
returns VarExpr(1)
, and if VarExpr(0)
is False
but VarExpr(2)
is True
, Switch
returns VarExpr(3)
, and so on.
If you do not supply the VarExpr
argument, Switch
returns Nothing
.
Note
The expressions in the argument list can include function calls. As part of preparing the argument list for the call to Switch
, the Visual Basic compiler calls every function in every expression. This means that you cannot rely on a particular function not being called if an expression earlier in the argument list is True
.