public class ClassA { public static int Count = 0; static ClassA() { Count++; } public ClassA() { Count++; } }
然后求下面代码的输出结果:
ClassA A1 = new ClassA(); ClassA A2 = new ClassA(); Console.WriteLine(ClassA.Count);
答案:3
静态构造函数是C#的一个新特性,其实好像很少用到。不过当我们想初始化一些静态变量的时候就需要用到它了。这个构造函数是属于类的,而不是属于哪里实例的,就是说这个构造函数只会被执行一次。也就是在创建第一个实例或引用任何静态成员之前,由.NET自动调用。
static局部变量只被初始化一次,下一次依据上一次结果值