Cur*_*urt 21 vb.net if-statement operators
在编写If语句时,我总是And
在需要时使用:
If 1=1 And 2=2 Then
Run Code Online (Sandbox Code Playgroud)
我唯一一次使用的AndAlso
是如果第一个不是真的那么第二个条件会出错:
If Not IsDbNull(Value) AndAlso Value=2 Then
Run Code Online (Sandbox Code Playgroud)
然而,最近我听说这AndAlso
比性能更好,And
因为只有当第一个条件成立时才读取第二个条件.
在这种情况下,我应该一直使用AndAlso
吗?
Bin*_*ier 37
是的,AndAlso
可以更快And
,因为如果先前的条件证明是错误的,它不会评估后续条件.
And
是早期版本的Visual Basic的回归.
大多数(我毫不犹豫地说所有)现代语言都使用布尔运算符来表示不需要严格评估的短路条件.
例如&&
,C风格语言的和运算符都表现为AndAlso
.
要小心,如果你已经大量的代码使用And
和Or
,全局搜索和替换可以改变现有的行为,如果第二个条件涉及的函数调用有副作用.
我更喜欢使用AndAlso
,OrElse
除非您特别要求And
&提供的功能Or
归档时间: |
|
查看次数: |
10313 次 |
最近记录: |