static class Program
{
static void Main()
{
Dog[] dogs = new Dog[6];
for (int i = 0; i < 6; ++i) { dogs[i] = new Dog(); }
Console.WriteLine(Dog.Count);
Console.Read();
}
class Dog
{
private static int Count; // 静态字段
public Dog()
{ ++Count; }
}
}
运行结果是什么,为什么count没初始化,都可以++ 的?
整数类型默认初始值是0,引用类型默认初始值是null。
把
private static int Count;
改成:public static int Count; //定义为公有成员,默认初值是0
结果当然是6