以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]Or和OrElse有区别吗  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=19588)

--  作者:yangrou
--  发布时间:2012/5/15 14:46:00
--  [求助]Or和OrElse有区别吗
Or 逻辑或,如果左右表达式的值至少有一个True,则返回True,否则返回False
OrElse 逻辑或,如果左右表达式的值至少有一个True,则返回True,否则返回False

--  作者:yangrou
--  发布时间:2012/5/15 14:50:00
--  

补充说明:

And和Or,都是先计算左右两个表达式的值,然后再返回结果。
AndAlso先计算左边表达式的值,如果计算结果为False,则直接返回False,不再计算右边表达式的值。
OrElse先计算左边表达式的值,如果计算结果为True,则直接返回True,不再计算右边表达式的值。
所以通常用AndAlso和OrElse代替And和Or,因为效率高点。


--  作者:程兴刚
--  发布时间:2012/5/15 14:52:00
--  

Or 不管左条件表达式是否成立,也要判断右边的表达式是否成立

OrElse 当左条件表达式成立时,不再判断右边的表达式是否成立

 

因此,从效率上讲,OrElseOr的效率要高一点!


--  作者:狐狸爸爸
--  发布时间:2012/5/15 14:52:00
--  

参考后面的补充说明:

 

http://www.foxtable.com/help/topics/0220.htm