Switch 函数

更新:2007 年 11 月

计算表达式列表,并返回与列表中第一个为 True 的表达式对应的 Object 值。

Public Function Switch( _
    ByVal ParamArray VarExpr() As Object _
) As Object

参数

  • VarExpr
    必选。Object 参数数组。必须具有偶数个元素。可以提供以逗号分隔的 Object 变量或表达式的列表,或一维 Object 元素数组。

异常

异常类型

错误号

条件

ArgumentException

5

参数数目为奇数。

如果正在升级使用非结构化错误处理方式的 Visual Basic 6.0 应用程序,请参见“错误号”一列。(您可以根据 Number 属性(Err 对象)比较错误号。)然而,如果可能,应当考虑用 Visual Basic 的结构化异常处理概述替换这种错误控制。

备注

提供给 VarExpr 的参数包含成对的表达式和值。Switch 函数计算 VarExpr 中从最低到最高索引的奇数编号的表达式,并返回与计算结果为 True 的第一个表达式相关联的偶数编号的值。例如,如果 VarExpr(0) 为 True,则 Switch 返回 VarExpr(1);如果 VarExpr(0) 为 False 但 VarExpr(2) 为 True,则 Switch 返回 VarExpr(3),依此类推。

如果没有提供 VarExpr 参数,则 Switch 返回 Nothing。

说明:

参数列表中的表达式可以包括函数调用。作为为调用 Switch 准备参数列表的一部分,Visual Basic 编译器调用每个表达式中的每个函数。这意味着不能依赖于参数列表中较早出现的表达式为 True 时未被调用的特定函数。

示例

下面的示例使用 Switch 函数返回与城市名称匹配的语言名称。它要求 Option Strict 为 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

因为 System.Diagnostics 命名空间还包含一个名为 Switch 的类,所以对 Switch 函数的调用必须用 Microsoft.VisualBasic 命名空间加以限定。

要求

命名空间:Microsoft.VisualBasic

**模块:**Interaction

**程序集:**Visual Basic 运行库(在 Microsoft.VisualBasic.dll 中)

请参见

概念

参数数组

参考

Choose 函数

IIf 函数

Select...Case 语句 (Visual Basic)