HOW TO:測試運算式的多個值 (Visual Basic)
以同一個運算式來比較多個不同的值時,您可以使用 Select...Case 陳述式 (Visual Basic) 語法結構,而不用 If...Then...Else 陳述式 (Visual Basic) 語法結構。 If 和 ElseIf 陳述式可以在個別的陳述式中評估不同的運算式,而 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:插入 IntelliSense 程式碼片段。
請參閱
工作
HOW TO:將控制權轉移出控制結構 (Visual Basic)
HOW TO:依據一個或多個條件執行陳述式 (Visual Basic)
HOW TO:發生錯誤時保留控制權 (Visual Basic)