首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

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

2014-01-03 
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,但是该类并没有被使用。

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

热点排行