У меня есть метод, который проверяет определенные вещи и возвращает логическое значение на основе этих проверок. Он включает в себя один раздел ветвления If, который проверяет около 5 условий в последовательности. Если какое-либо из этих условий вернет true, метод будет return true;
. Если ни одно из условий не возвращает true, метод будет return false;
. Поскольку код после раздела If будет выполняться только в том случае, если не выполняется ни одно из условий, этот код логически идентичен включению фактического оператора Else.
Так лучше ли в действительности писать в выражении Else такую ситуацию?
EDIT
Оказывается, мне нужна была информация о том, какое условие фактически сработало "true" для некоторых из них, поэтому я изменил метод, чтобы он возвращал int, где -1 представляет "ложную" ситуацию. Логика все еще остается, если ни одно из условий не выполняется, он вернет -1. Таким образом, у меня больше нет опции сгущения return (cond1 || cond2 || cond3 || cond4 || cond5);
, но я благодарю всех за это предложение, поскольку я действительно не думал об этом (в первую очередь потому, что cond3 - очень сложное условие, включающее проверку пересечения в средних точках двух пар). объектов DateTime, так что это будет выглядеть ужасно). Хотя природа метода изменилась, природа этого вопроса не изменилась, и все ответы по-прежнему в основном применимы ...
Код в настоящее время перефразирует его и вырезает весь посторонний код, который определяет cond1 - cond5 ...
if (cond1) { return 1; }
else if (cond2) { return 2; }
else if (cond3) { return 3; }
else if (cond4) { return 4; }
else if (cond5) { return 5; }