C#类里面的static变量,不会在程序启动时就初始化吗? Singleton singleton = Singleton.instance;此时会输出ctor。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以肯定的是静态成员一定是在实例成员以前进行初始化.你声明了静态的instance,但是该类并没有被使用。该类没有被调用,也就不会执行任何一次实例化。所以,静态成员也就没有机会初始化。 也就是说,不会像C程序那样,全局变量会在main函数之前就初始化。而是,类内部的函数或者static变量,没有对类的调用,也不会去初始化static变量。我发现如果有了一个static函数的调用,那么类的static变量就会被初始化了: public class Singleton { public Singleton() { Console.WriteLine("ctor\n"); } private static readonly Singleton instance = new Singleton(); public static void func(){ Console.WriteLine("func\n");} } class Program { static void Main(string[] args) { Singleton.func(); } }程序输出ctor然后是func多谢。 C# Timer 中计时的问题 sql2005 ,c# dategridview 在comboBox中怎么显示 高手请进 NET的WIN程序如何向网站写数据? 一个关于实时计费的算法问题!!!!有过经验的请指点一下!! 关于应用程序域的问题,详情请进。 那位大虾有用C# 播放AVI文件的源码 跪求用mshtml的例子,msdn都是E文,看不懂1 我用c#写了一个三层架构的程序,中间层是利用Com+,本机运行正确,但 乱码转换 HttpWebRequest.GetResponse()取不到内容
也就是说,不会像C程序那样,全局变量会在main函数之前就初始化。而是,类内部的函数或者static变量,没有对类的调用,也不会去初始化static变量。我发现如果有了一个static函数的调用,那么类的static变量就会被初始化了: public class Singleton
{
public Singleton() { Console.WriteLine("ctor\n"); }
private static readonly Singleton instance = new Singleton();
public static void func(){ Console.WriteLine("func\n");}
}
class Program
{
static void Main(string[] args)
{
Singleton.func();
}
}程序输出ctor然后是func
多谢。