来看一个程序,了解静态构造函数与普通构造函数执行顺序的先后
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;
当类Class1第二次或第三次被实例化,静态构造函数static Class1将不再被执行,只执行普通构造函数public Class1。
静态构造函数的用途:
当类使用文件时,将使用这种构造函数想日志文件中写入项。