vb.net位运算 vbnet dir( 二 )


VB.net语言当中,And和AndAlso有什么区别?AndAlso是短路的逻辑与运算符vb.net位运算,And有两个含义:非短路的逻辑与运算符vb.net位运算;按位与运算符
Dim c=a AndAlso b表达式中,若表达式a的计算结果是False,无论表达式b是什么样,都不再进行计算,直接返回c的值
Dim c=a And b表达式中,无论a和b是怎样的表达式,都要全部计算完成后再返回c的值
AndAlso相比And的区别,除vb.net位运算了性能优势外,更重要的是,从语义上来说
If a Then
If b Then
End If
End If
等价于If a AndAlso b Then而不等价于If a And b Then
考虑这种情况:
Dim m As ClassM=****
Dim c=m IsNot Nothing AndAlso m.Succeeded
这种实际编程中经常遇到的判断,如果把AndAlso替换成And,在m Is Nothing的情况下会引发NullReferenceException空引用异常,而AndAlso能确保不会引发空引用异常
进行逻辑运算的时候,And只在一种情况下有价值:不仅想要得到c的值,而且无论如何都希望执行b过程,并且自己能确保a=False不会影响b的执行 。其他情况下务必使用AndAlso
OrElse和Or同理 , 作为上面那句的逆判断
Dim c=m Is Nothing OrElse m.Failed
也是经常使用的 。当然在进行位运算时,只能用And和Or,AndAlso和OrElse没有位运算功能
关于vb.net位运算和vbnet dir的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

推荐阅读