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 次 |
| 最近记录: |