静态构造函数用于初始化类中的静态数据或执行仅需一次的特定操作,静态构造函数将在创建第一个实例或引用类中的静态成员之前自动调用。
静态构造函数具有以下特点:
静态构造函数不使用访问权限修饰符修饰或不具有参数;
类或结构体中只能具有一个静态构造函数;
静态构造函数不能继承或重载;
静态构造函数不能直接调用,仅可以由公共语言运行时调用;
用户无法控制程序中静态构造函数的执行时间;
在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数以初始类化;
静态构造函数会在实例构造函数之前运行;
新建一个test.cs文件;
using System;
class A
{
public static int n1 = 0;
A()
{
n1 = 10;
}
static A()
{
n1 = 999;
}
static void Main(string[] args)
{
Console.WriteLine("n1 = {0}", n1);
A a1 = new A();
Console.WriteLine("n1 = {0}", n1);
Console.Read();
}
}
放到.net framework目录下;然后构建运行;
一开始n1是等于0,此时没有输出;然后静态构造函数在实例构造函数之前被调用,n1被赋值999;先输出n1=999;然后执行实例构造函数,n1被赋值10,输出n1=10;