Объединить условия во внутреннем операторе if с внешним оператором else - C # - PullRequest
0 голосов
/ 30 ноября 2018

У меня есть три условия (a, b, c), которые нужно проверить и которые должны работать по следующему синтаксису:

if (conditionA)
{
    if (conditionB && conditionC)
    {
        // Execute();
    }
}
else if (conditionC)
{
    // Execute();
}

Еще лучше, можно ли эти условия упростить до одной строки, так что Execute() окажется в одном наборе скоб?Спасибо.

1 Ответ

0 голосов
/ 30 ноября 2018

Первое условие может быть упрощено до if (conditionA && conditionB && conditionC), если не выполняется некоторая обработка, или conditionB / conditionC вычисляется между первым if и вторым.

Если все условия доступнывначале вы можете сделать что-то вроде:

if((conditionA && conditionB && conditionC)||(conditionC))
{
    // Execute();
}

Это будет смотреть на первый набор внутренних скобок (conditionA && conditionB && conditionC), который вернет истину, только если A, B и C равны all true, затем оцените conditionC, и если любой из них вернет true, он войдет в блок и выполнит функцию Execute().

...