当前位置:  开发笔记 > 编程语言 > 正文

我应该总是使用AndAlso和OrElse运算符吗?

如何解决《我应该总是使用AndAlso和OrElse运算符吗?》经验,为你挑选了2个好方法。

是否有一种情况我不想使用AndAlso运营商而不是And运营商?...或者我不想使用OrElse操作员而不是Or操作员?



1> Vaibhav..:

来自MSDN:

短期权衡取舍

短路可以通过不评估不能改变逻辑运算结果的表达式来提高性能.但是,如果该表达式执行其他操作,则短路会跳过这些操作.例如,如果表达式包含对Function过程的调用,则在表达式被短路时不会调用该过程,并且函数中包含的任何其他代码都不会运行.如果您的程序逻辑依赖于任何其他代码,则应该避免使运算符短路.


有人可能会说,依靠你的逻辑代码运行一个函数是模糊的,你的逻辑应该被设计成不依赖于它的清晰度和可维护性.
我同意.这里真正的教训是不要编写代码,不能清楚地表明它的副作用!

2> Joel Coehoor..:

是否有一种情况我不想使用AndAlso运算符而不是And运算符?

肯定的是:如果你想确保两者表达的双方进行评估.例如,如果双方都是由于某些其他具有副作用的操作而返回布尔值的方法调用,则可能就是这种情况.

但一般情况下,使用AndAlso/ 在C/C++/C#中OrElse使用&&/ ||,这当然是绝大多数时间.

推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有