根據表示式的值,執行數個陳述式群組之一。
語法
Select Case testexpression
[Case expressionlist-n
[statements-n]] . . .
[Case Else
[elsestatements-n]]
End Select
引數:
Testexpression:數值或字串表示式。
expressionlist-n:如果出現 Case 則必須輸入。一或多個表示式的逗號分隔清單。
statements-n:如果 testexpression 符合 expressionlist-n 的任何部分,則會執行一或多個陳述式。
elsestatements-n:如果 testexpression 不符合任何 Case 子句,則會執行一或多個陳述式。
備註
如果 testexpression 符合任何 Case expressionlist 表示式,則會執行該 Case 子句之後的陳述式,直到下一個 Case 子句為止,若為最後一個子句,則直到 End Select 為止。控制流程會接著傳遞至 End Select 之後的陳述式。如果 testexpression 符合多個 Case 子句中的 expressionlist 表示式,則只會執行第一個相符子句之後的陳述式。
Case Else 子句可用來指出當 testexpression 與任何其他 Case 選項中的 expressionlist 都不相符時,所要執行的 elsestatements。雖然並非必要,但最好在 Select Case 區塊中包含 Case Else 陳述式,以處理無法預期的 testexpression 值。如果沒有任何 Case expressionlist 符合 testexpression,且沒有 Case Else 陳述式,則程式會繼續執行 End Select 之後的陳述式。
Select Case 陳述式可以巢狀化。每個巢狀化的 Select Case 陳述式都必須具有相符的 End Select 陳述式。
下列範例說明 Select Case 陳述式的用法。
範例 1:
Dim dayOfWeek
Dim result
' Assign the day of the week (can be any number between 1 and 7)
dayOfWeek = 3 ' 1 = Sunday, 2 = Monday, ..., 7 = Saturday
' Use Select Case to check the value of dayOfWeek
Select Case dayOfWeek
Case 1
result = "Sunday"
Case 2
result = "Monday"
Case 3
result = "Tuesday"
Case 4
result = "Wednesday"
Case 5
result = "Thursday"
Case 6
result = "Friday"
Case 7
result = "Saturday"
Case Else
result = "Invalid day"
End Select
' Now, result will contain the name of the day corresponding to dayOfWeek ( Tuesday in this case )