Рассмотрим следующий типичный сценарий:Создание объектов с нулевыми объектами? Оператор
if(anObject == null)
{
anObject = new AClass();
}
Я интересно, что думает о следующей замены с использованием ?? оператор:
anObject = anObject ?? new AClass();
Я не уверен, следует ли использовать вторую форму. Это похоже на красивую стенографию, но конструкция anObject = anObject в начале кажется, что это может быть немного кодовым запахом.
Это разумная вещь, или есть лучшая стенография, которую мне не хватает? Или, может быть, «Это три линии, справитесь с этим!»?
Оба являются общими. –
Если это будет запах кода, он не будет представлен в первую очередь. Вторая форма более кратка и должна быть предпочтительной. –
@JeroenVannevel: вопрос: * не * ли оператор '??' является кодовым запахом, но является ли его использование в выражении, которое привязано к тому, что передается как один из его операндов, - это запах кода. –