读书人

C#类里面的static变量不会在程序启动

发布时间: 2014-01-03 00:30:09 作者: rapoo

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

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

读书人网 >C#

热点推荐