更新: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 语言”中。有关更多信息,请参见如何:在代码中插入代码段 (Visual Basic)。