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