共用方式為


HOW TO:測試運算式的多個值

更新:2007 年 11 月

以同一個運算式來比較多個不同的值時,您可以使用 Select...Case 陳述式 (Visual Basic) 語法結構,而不用 If...Then...Else 陳述式 (Visual Basic) 語法結構。If 和 ElseIf (Visual Basic) 陳述式可以在個別的陳述式中評估不同的運算式,而 Select 陳述式則只會評估單一運算式一次,然後便用它來做所有比較。

評估一次運算式並測試多個值

  • 使用 Select...Case 語法結構來指定運算式和要測試的值。每個 Case 陳述式都可以包含一或多個值、值範圍,或值與比較運算子的組合。您可以使用 Case Else 陳述式來處理所有先前 Case 陳述式所沒有測試到的值。下列範例說明這些可能性。

    Function bonus(ByVal performance As Integer, ByVal salary As Decimal) _
        As Decimal
        Select performance
            Case 1
                Return salary * 0.1
            Case 2, 3
                Return salary * 0.09
            Case 5 To 7
                Return salary * 0.07
            Case 4, 8 To 10
                Return salary * 0.05
            Case Is < 15
                Return 100
            Case Else
                Return 0
       End Select
    End Function
    

    Visual Basic 會循著 Select...Case 語法結構中出現 Case 陳述式的順序,將運算式的值與這些陳述式的值一一做比較。如果找到相符項目或 Case Else 陳述式,則會執行對應的陳述式區塊。不論是哪種情況,接著都會執行 End Select 陳述式之後的程式碼。

    您可以使用任何數目的 Case 陳述式;不論有多少個 Case 陳述式,您都可以加入一個 Case Else 陳述式或是省略不用。

關於 Select...Case 語法結構程式碼的範例,另外還有 IntelliSense 程式碼片段的版本。在程式碼片段選擇器中,這個程式碼片段位於 [Visual Basic 語言] 中。如需詳細資訊,請參閱 HOW TO:在您的程式碼中插入程式碼片段 (Visual Basic)

請參閱

工作

HOW TO:將控制權轉移出控制結構

HOW TO:依據一或多個條件執行陳述式

HOW TO:發生錯誤時保留控制權

概念

決策結構

迴圈結構

其他控制結構

巢狀控制結構

其他資源

Visual Basic 中的控制流程