C#双重条件性能

buf*_*erz 0 c# performance conditional

对于每纳秒数十亿次的静态方法,其中哪一种更快:

方法1:

static bool DualConditional(int value)
{
   return A(value) && B(value);
}
Run Code Online (Sandbox Code Playgroud)

方法2:

static bool DualConditional(int value)
{
   if(!A(value)
      return false;

    if(!B(value)
      return false;
}
Run Code Online (Sandbox Code Playgroud)

Jus*_*ner 7

它们应该都是一样的.

如果A()为假,第一个将短路并返回.

第一个也更容易阅读和理解.即使性能稍差,我也会使用此代码.当牺牲可读性时,过早的微优化是毫无价值的.