重构一个多层if-then

Cas*_*ton 3 c# if-statement

寻找有人来证明我的逻辑.我继承了一个包含这个的方法:

If (a || b)
{
   doTaskOne();
}
else
{
    if (c)
    {
        doTaskOne()
    }
    doTaskTwo()
}
Run Code Online (Sandbox Code Playgroud)

这样可以简化吗?

If ((a || b) || c))
{
   doTaskOne();
}
else
{
    doTaskTwo()
}
Run Code Online (Sandbox Code Playgroud)

Kei*_*wan 10

这些不一样,因为在第一个版本中,如果(a || b)falsec == true,那么两个doTaskOne()并且doTaskTwo()将被调用,而你的替代只调用两个中的一个.