话说值类型在声明的时候就会初始化为0,比如int32 i 它就会被初始为0
那么看下段的代码
static void Main(string[] args) { Int32 i; Console.Write(i); }
会出现什么结果呢?结果是编译错误。那这是不是矛盾了呢?来看另一个例子
public class Initor { public Int32 i; } static void Main(string[] args) { Initor initor = new Initor(); Console.Write(initor.i); }
结果为0。这个例子中的i,会随着其所在的类被初始化而自动初始化,而上边的例子并没有初始化代码。所以只有成员变量的值类型变量才会被初始化为0
本文探讨了C#中值类型的初始化行为。重点分析了局部变量与成员变量在初始化方面的差异,并通过实例展示了这两种情况下值类型的默认初始化值。
4288

被折叠的 条评论
为什么被折叠?



