如果要将同一表达式与多个不同值进行比较,则可以使用 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 语言”**中。 有关更多信息,请参见如何:插入 IntelliSense 代码段。
请参见
任务
如何:根据一个或多个条件运行语句 (Visual Basic)