A recent question here сделал использование default
ключевого слова в необщего код, который меня интересует:Назначение и использование ключевого слова «по умолчанию» в не-дженериков
StreamReader r = default(StreamReader);
Что подается здесь цель? Как это отличается от:
StreamReader r;
Оба утверждения определяют r
. В ответе «SLaks» ниже он поясняет, что использование default
дополнительно устанавливает r
на null
, но это можно сделать явно, используя только null
. Это проблема стиля, или есть какая-то утилита?
Я использовал default
in generic code (и, конечно, in switch
statement blocks), но не понимаю, в чем его цель.
Право. Я получил то, что читал в другом месте. Какова цель написания «null» в этом многословном ключе? –
@KevinR: Нет. Они компилируются одинаково. – SLaks
Итак, вы говорите, что это всего лишь выбор стиля. За исключением того, что я читал в другом месте, что автоматически сгенерированные шаблоны кода могли бы выводить такой код, но я бы предположил, что он был написан вручную в S.O. вопрос, с которым я связан (где я видел этот код). Любая догадка, почему вы предпочитаете такой стиль? Кажется слишком явным способом просто сказать «null». –