C#类里面的static变量,不会在程序启动时就初始化吗?解决方法

C#类里面的static变量,不会在程序启动时就初始化吗?下面的几行程序:public class Singleton{public Single

C#类里面的static变量,不会在程序启动时就初始化吗?
下面的几行程序:


    public class Singleton
    {
        public Singleton() { Console.WriteLine("ctor\n"); }
        private static readonly Singleton instance = new Singleton();
    }

    class Program
    {
        static void Main(string[] args)
        {
        }
    }

什么输出也没有。我期待的是,类的static成员总是会被初始化的,也就是会有"ctor"这样的输出啊。
我的理解错在哪里?
[解决办法]
可以肯定的是静态成员一定是在实例成员以前进行初始化.

你声明了静态的instance,但是该类并没有被使用。

该类没有被调用,也就不会执行任何一次实例化。所以,静态成员也就没有机会初始化。