Switch 函数
更新:2007 年 11 月
计算表达式列表,并返回与列表中第一个为 True 的表达式对应的 Object 值。
Public Function Switch( _
ByVal ParamArray VarExpr() As Object _
) As Object
参数
- VarExpr
必选。Object 参数数组。必须具有偶数个元素。可以提供以逗号分隔的 Object 变量或表达式的列表,或一维 Object 元素数组。
异常
异常类型 |
错误号 |
条件 |
---|---|---|
参数数目为奇数。 |
如果正在升级使用非结构化错误处理方式的 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 命名空间加以限定。
要求
**模块:**Interaction
**程序集:**Visual Basic 运行库(在 Microsoft.VisualBasic.dll 中)