Подтвердить что ты не робот

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

Могу ли я действительно и действительно доверять .NET для инициализации полей (например, ints, structs и т.п.)? И что, если я все еще хочу инициализировать эти поля - каковы могут быть последствия?

4b9b3361

Ответ 1

спецификация С# на стр. 30 (17.4.4)

Начальное значение поля, будь то статическое поле или поле экземпляра, является значением по умолчанию (§12.2) тип полей. Невозможно наблюдать значение поля до того, как эта инициализация по умолчанию произошла, и поле, таким образом, никогда не "неинициализировано".

С уважением, Tamberg

Ответ 2

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

Сделайте все, что способствует наиболее читабельности вашей конкретной базы кода.