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。

注意事項:

引數清單中的運算式可包含函式呼叫。Visual Basic 編譯器會呼叫每一運算式中的每個函式,以做為準備 Switch 呼叫引數清單的一部分。這意味著,如果在引數清單中先前已有運算式為 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 Runtime Library (在 Microsoft.VisualBasic.dll 中)

請參閱

概念

參數陣列

參考

Choose 函式

IIf 函式

Select...Case 陳述式 (Visual Basic)