Последний обычно легче читать, и если у вас есть несколько случаев, в которых вы бы прекратили, тогда это становится еще проще.Однако разницы в скорости нет.
Предположим, у вас есть функция, которая принимает Int32?
и завершает работу, если значение равно null
, even
или больше 100.
Вы могли бы сделать
void fn( Int32? num ) {
if ( num != null ) {
if ( num < 100 ) {
if ( num % 2 != 1 ) {
//method code
или что-то вроде
void fn( Int32? num ) {
if ( num == null )
return;
if ( num > 100 )
return;
if (!(num % 2 != 1))
return;
//method code
Теперь этот пример немного глуп, я вас сейчас слышу, почему бы не собрать их всех в одну строкус ||
или &&
и в этом случае да.Но представьте, если проверка данных была намного сложнее, чем это?В итоге вы получите слишком много отступов, код будет намного сложнее читать.