假设我有这段代码:

age = 21;
allowedFromParents = false;
if (age >= 18 || allowedFromParents == true)
{
    //go drink
}


当我调试代码的这一部分时,当它检查了第一部分时,这是对的,那么它已经进入了语句内部,而不必费心检查其他语句。

现在,这只是一个简单的条件,但是如果条件语句要计算的要大得多,则会在频繁循环内发生,并且一个返回比另一个更真实的可能性。那么条件的顺序对性能有影响吗?

最佳答案

您所看到的称为短路评估。

就像您猜到的那样,条件语句的顺序可能会影响性能:如果其中一个条件的计算量大得多,并且在紧密循环中完成,则可以考虑将另一个条件放在第一位。

然而,


  过早的优化是万恶之源-DonaldKnuth


这意味着除非您在此代码中测量了性能瓶颈,否则在编写代码时应考虑可读性而不是性能。

10-07 12:03
查看更多