Поле инициализации по умолчанию является избыточным

13
задан Wai Ha Lee 22 September 2015 в 19:33
поделиться

2 ответа

спецификация C# указывает на p.305 (17.4.4)

начальное значение поля, является ли это быть статическим полем или полем экземпляра, значением по умолчанию (В§12.2) типа field’s. Не возможно наблюдать значение поля, прежде чем эта инициализация по умолчанию произошла, и поле таким образом никогда “uninitialized”.

18
ответ дан vaxquis 22 September 2015 в 19:33
поделиться
  • 1
    Код оценивает " 1.09" > " 1.1" и " 1.702" > " 1.8" который я думаю, корректно. Если Вы don' t соглашаются: можно ли указать на некоторый ресурс, это поддерживает мнение? – mar10 7 September 2013 в 09:35

Да, можно действительно доверять.NET для инициализации полей к их значениям по умолчанию. Нет в основном никаких последствий для того, чтобы сделать его явно. (Один маленький протест здесь: если Вы инициализируете статические поля явно, то любой выполняющий инициализатор типа во второй раз через отражение закончит тем, что повторно инициализировал те поля. Это - реальный угловой случай хотя!)

Делают то, что способствует большей части удобочитаемости в Вашей конкретной кодовой базе.

12
ответ дан Jon Skeet 22 September 2015 в 19:33
поделиться
  • 1
    Это зависит от Ваших принципов —, поскольку я знаю there' s никакое строгое правило или что-то. Относительно ресурсов, статьи Википедии для " программное обеспечение versioning" в " Постепенное увеличение sequences" говорит, что 1.81 может быть вспомогательная версия 1,8, таким образом, 1.8 должен читать как 1,80. В семантической статье управления версиями semver.org/spec/v2.0.0.html также говорятся те 1.9.0-> 1.10.0-> 1.11.0, таким образом, 1.9.0 рассматривается как 1.90.0 в сравнении как это. Так, после этой логики версия 1.702 была перед версией 1.8, которую рассматривают как 1 800. – shaman.sir 30 September 2013 в 16:26
Другие вопросы по тегам:

Похожие вопросы: