На самом деле я был бы склонен предложить ответ, отличающийся от «неоднозначного» объяснения, предоставленного несколькими другими (хотя я также согласен с этим ответом):
Лично мне нравится минимизировать вложение в моем коде, поскольку (для меня), чем больше кодовых фигурных скобок, тем труднее становится следовать.
Поэтому я бы предпочел это (например):
public bool DoSomethingWithString(string s) {
if (string.IsNullOrEmpty(s))
return false;
// here's the important code, not nested
}
к этому:
public bool DoSomethingWithString(string s) {
if (!string.IsNullOrEmpty(s)) {
// here's the important code, nested
} else {
return false;
}
}
Это довольно специфический сценарий (где нулевая / пустая строка запрашивает немедленный выход) и явно не тот способ, которым метод, использующий IsNullOrEmpty
, всегда будет структурирован; но я думаю, что это на самом деле довольно распространено.