我真的可以真正信任.NET来初始化字段(比如整数,结构等)吗?如果我仍然想要初始化这些字段怎么办 - 可能会产生什么后果呢?
答案 0 :(得分:18)
第{305(17.4.4)页中的C# specification州
字段的初始值,无论是静态字段还是实例字段,都是默认值(第12.2节)。 字段的类型。在发生此默认初始化之前,无法观察字段的值, 因此,一个领域永远不会“未初始化”。
答案 1 :(得分:12)
是的,您真的可以信任.NET将字段初始化为默认值。 明确地做这件事基本上没有任何影响。 (这里有一个小警告:如果你明确地初始化静态字段,那么任何通过反射第二次运行类型初始化器的人最终会重新初始化这些字段。虽然这是一个真正的角落情况!)
做任何促进特定代码库中最易读的内容。