根据表达式的值,执行几组语句中的一组。
语法
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 )