我有几种方法可以根据它们的成功返回bool,在IF()中调用这些方法有什么问题吗?
//&& makes sure that Method2() will only get called if Method1() returned true, use & to call both methods if(Method1() && Method2()) { // do stuff if both methods returned TRUE }
如果Method1()返回FALSE,则不需要触发Method2().
让我知道上面的代码有任何问题.
谢谢.
编辑:因为代码没有任何问题,我会接受最丰富的答案...添加评论来解决"newbie &&&"问题
我会投入你可以使用& operator
(而不是&&
)来保证两个方法都被调用,即使左边是false
,如果由于某种原因将来你想避免短路.
对于| operator
即使左手条件评估的true
情况,也将评估右手条件.
不,if条件中的方法调用没有任何问题.实际上,这可以是让代码更具可读性的好方法!
例如,写起来要干净得多:
private bool AllActive() { return x.IsActive && y.IsActive && z.IsActive; } if(AllActive()) { //do stuff }
比:
if(x.IsActive && y.IsActive && z.IsActive) { //do stuff }