日期:2014-05-17  浏览次数:21114 次

C#从哪个版本开始,会自动给没有赋初始值的类成员一个默认值?
例如,我在类声明里面有一些成员变量,声明的时候没有赋值,只在构造函数里面赋值。

从C#的哪个版本开始,编译器会给声明时没有赋值的变量一个初始值? 换句话说,在构造函数里面的赋值相当于第二次赋值了?

谢谢。

------解决方案--------------------
C# 7.0吧,反正即便是在可以预见的下一个版本,也没有这种功能。
------解决方案--------------------
全局变量,好像都会吧.最少2.0以来,一直这样
------解决方案--------------------
版主弄错了吧,类变量不都是默认有初始值的吗,默认没初始值的是局部变量
------解决方案--------------------
1.0版本开始,或者说一出生开始就有这种设定。。。。。。类变量,全局变量只要你没设值,都有相应的默认值。。。。。
------解决方案--------------------
一直都这样,因为new申请到的堆内存就是全0的。如果不这样,垃圾回收就会出问题了。
------解决方案--------------------
从beta就有了
------解决方案--------------------
其实我对版主的回复很感兴趣~~


------解决方案--------------------
一开始就有,你不赋值编译器会帮你赋值