我想知道这在处理大量数据时将如何影响我的编码,以及我将如何构造我的逻辑参数
两个问题:
1)IF-ELSE和Select CASE之间的主要区别是什么?选择案例是否通过同时评估所有案例来运作?
如果我遇到这样的情况,例如,从结构上讲,它需要同时处理两个或多个案例。
int = 5
Select case int
Case >0
Case 5
Case <0
在需要触发案例“1”和“2”的情况下,我是否在IF ELSE上使用CASE?
2)现在,对于另一种情况,如果我有一个变量将触发一个以上的情况,但是我想将优先级限制为仅一个情况,请说我只希望对情况“1”采取行动,而排除其余情况,我是有权说IF-ELSE在这方面会取胜吗?
编辑-我意识到我的问题措辞很差。我对代码做了一些编辑
最佳答案
在实际回答您的问题之前,先对Select Case
进行一些说明:
如您建议的
Case
开关中组合多个值,例如:Case Is>40, 20, 10, 2 To 3
,有关更多信息,请参见documentation on MSDN Case
,找到匹配项后退出(例如,在示例中,执行Case >0
然后退出,甚至不评估Case 5
)if
:Case Is > 0
<Common code>
If i = 5 Then
<code only for case 5>
End If
Select Case
的优势if
If
的优势Select Case
描述的情况下,这都是一个不错的选择,例如:if
和select
,但是if
更容易阅读)Select Case
类似,您也可以使用elseif准备多个比较,它也会在第一个完全满足的条件下停止,但是在这里,您的表达式每次都会被求值,直到找到匹配项为止,当然您也可以使用更复杂的条件。