VB AndAlso,OrElse和And,Or的区别
发布时间:2020-12-17 00:21:16 所属栏目:大数据 来源:网络整理
导读:AndAlso和OrElse应该是vb。net引入的新运算符。 因为用vb。net的时间还不是很长,之前我一直以为他们和and,or根本没有区别。 现在终于明白,他们之间还是有很大区别的: AndAlso,OrElse相对于and,or最大的特性是会自动实现“最短路径”。 所谓“最短路径
AndAlso和OrElse应该是vb。net引入的新运算符。
1
Dim
a
As
Int16
=
1
2 Dim b As Int16 = 2 3 4 ' 用or的话,a=1,b=2都会被比较 5 If a = 1 Or b = 2 Then 6 ' xxxxx 7 End If 8 9 ' 用OrElse的话,只比较了第一个条件a=1 10 If a = 1 OrElse b = 2 Then 11 ' xxxx 12 End If
1
Dim
a
As
Int16
=
1
2 Dim b As Int16 = 2 3 4 ' 用and的话,a=999,b=2,(a+b)*(b-a)=3都会被比较 5 If a = 999 And b = 2 And (a + b) * (b - a) = 3 Then 6 ' xxxxx 7 End If 8 9 ' 用AndAlso的话,只比较了第一个条件a=999,由于已经是false了,所以后面的运算式不再判断 10 If a = 999 AndAlso b = 2 AndAlso (a + b) * (b - a) = 3 Then 11 ' xxxx 12 End If 当出现以上情况时,AndAlso和OrElse的效率要高于and,or。 所以,在大多数情况下,我们可以使用AndAlso和OrElse替换and,or,以提高运算效率。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |