当出现多个条件时,折叠if语句

gur*_*seh 5 c#

有没有办法将其折叠成一个if条件,或只是一个return语句?

     public bool SomethingEnabled
     {
            if (!condition1)
            {
                return false;
            }

            return condition2
                && (condition3 || !condition4);
      }
Run Code Online (Sandbox Code Playgroud)

Mat*_*all 7

这相当于:

public bool SomethingEnabled
{
    return condition1 && condition2 && (condition3 || !condition4);
}
Run Code Online (Sandbox Code Playgroud)

但出于可读性和可维护性的考虑,我强烈建议不要编写过于聪明的代码.

  • 由于[短路评估](http://en.wikipedia.org/wiki/Short-circuit_evaluation)已经发生的@gurunakka. (2认同)