Ответ 1
return (expression) ? value1 : value2;
Если value1
и value2
на самом деле true
и false
, как в вашем примере, вы можете просто
return expression;
Всего здесь нет, так что будьте осторожны. Я везде искал и не могу найти ответа на этот вопрос. Как сконденсировать следующее?
if (expression)
{
return true;
}
else
{
return false;
}
Я не могу заставить его работать, так как он возвращает что-то против установки чего-то. Я уже видел такие вещи:
somevar = (expression) ? value1 : value2;
Как я уже сказал, будьте осторожны:)
return (expression) ? value1 : value2;
Если value1
и value2
на самом деле true
и false
, как в вашем примере, вы можете просто
return expression;
Все, что вам нужно в вашем случае:
return expression;
Причина в том, что само выражение оценивает логическое значение true
или false
, поэтому избыточно иметь блок if
(или даже оператор ?:
).
Если expression
возвращает логическое значение, вы можете просто вернуть его результат.
Пример
return (a > b)
Так как выражение булево:
return expression;