C# 静态构造函数

1、在类实例被初始化的时候执行

2、在类的静态成员被调用的时候执行

3、静态构造函数只会被执行一次,代码如下:

  static class Program
    {
        static void Main(string[] args)
        {
            Test.TestIns.Flag = Test.TestIns.Flag + 1;
            Console.WriteLine(Test.TestIns.Flag);
            Test.TestIns.Flag = Test.TestIns.Flag + 1;
            Console.WriteLine(Test.TestIns.Flag);
            Test.TestIns.Flag = Test.TestIns.Flag + 1;
            Console.WriteLine(Test.TestIns.Flag);
            Console.ReadKey();
        }
    }

    public class Test
    {
        static Test()
        {
            TestIns = new Test();
        }

        public static Test TestIns;

        public int Flag=0;
    }

说明静态构造函数只执行了一次,并将该实例初始化到了内存中.所以结果会显示成累加的情况

原文地址:https://www.cnblogs.com/GreenLeaves/p/8797050.html