【发布时间】:2012-10-23 09:36:22
【问题描述】:
假设我在这样的方法中有一个 if 语句:
if ( foo() || bar() ) {
return true;
}
foo() 和 bar() 是否都会在评估是否在其中执行代码之前或在一个条件满足 if 时立即处理?
我问的原因是我的 foo() 和 bar() 方法的等价物是计算量相当大的函数,如果 foo() 单独满足 if 条件我不想执行 bar()。因此,我当前的代码如下:
if ( foo() ) {
return true;
}
if ( bar() ) {
return true;
}
这是必要的,还是逻辑 OR 分隔的函数会表现为要求?
【问题讨论】:
-
解释反对票的评论会很好 - 我的问题真的不清楚还是没有用?我不知道短路,当然这个问题对同样不知道的其他人来说是有用的。
标签: c# java c++ if-statement logical-operators