【发布时间】:2011-02-08 12:27:20
【问题描述】:
我是否可以构建一个使用 Contains 函数的 Select 语句?像这样:
Select commentStr
Case commentStr.Contains("10")
Case commentStr.Contains("15")
【问题讨论】:
标签: vb.net select-case
我是否可以构建一个使用 Contains 函数的 Select 语句?像这样:
Select commentStr
Case commentStr.Contains("10")
Case commentStr.Contains("15")
【问题讨论】:
标签: vb.net select-case
Select Case True
Case commentStr.Contains("10")
'foo
Case commentStr.Contains("15")
'bar
End Select
请注意,使用此构造,最多将执行 一个 Case。
(另请注意,您的 C# 朋友不能使用 switch 执行此操作,这需要在 case 子句中使用常量表达式:))
【讨论】:
if 并且能够对 switch 做同样的事情是多余的。在 C# 中,switch 语句被高度优化,因此只允许常量值。不知道在VB中是不是也一样。
Select Case。一系列If 语句将更具可读性,相同数量的代码,并且(我预测)性能一样。
Case 语句中使用表达式可以是简短的和可读的。编译器仍然可以检测编译时常量值并对其进行大量优化。