C# static成员的构造顺序

熟知的几个原则

1.static字段初始化先于static构造函数

2.static字段按顺序初始化

3.static字段和static构造函数只执行一次

public class Foo

{

public static Foo Instance = new Foo();

public static int Number=6;

public Foo()

{

Console.WriteLine(Number);

}

}

class Program

{

static void Main(string[] args)

{

Console.WriteLine(Foo.Number);

Console.WriteLine("OK!");

Console.ReadLine();

}

}

结果:0

   6

   OK!

如果static成员调用了函数,也是按顺序执行的,符合第二个原则