来看一个程序,了解静态构造函数与普通构造函数执行顺序的先后
class Class1 { public static int count = 0; static Class1() { count++; } public Class1() { count++; } } class Program { static void Main(string[] args) { Class1 o1 = new Class1(); Class1 o2 = new Class1(); Class1 o3 = new Class1();//屏蔽掉此行和以上两行,输出1,只执行了static Class1 Console.WriteLine(Class1.count);//不屏蔽以上三行,输出4,static Class1执行一次,public Class1执行三次 Console.Read(); } }
当类Class1第二次或第三次被实例化,静态构造函数static Class1将不再被执行,只执行普通构造函数public Class1。
静态构造函数的用途:
当类使用文件时,将使用这种构造函数想日志文件中写入项。