静态成员在编译时已经分配内存了。
静态类仅能包含静态成员,而且静态类不包含实例构造函数(也即不能被实例化),也无从销毁(析构函数),无需创建类的实例,也即你在不通知程序(不创建该类的实例)的前提下,在程序的任意位置就能调用该类的成员,所以我想只要程序不关闭,此类就会一直存在下去。
比如说system.Console.WriteLine();方法,静态类System.Math你就可以不new而到处用。
鄙人愚见,不知楼主意下如何?
好了,扯淡之后是微软MSDN的官方解释:
和所有类类型一样,当加载引用静态类的程序时,.NET Framework 公共语言运行时 (CLR) 将加载该静态类的类型信息。程序不能指定加载静态类的确切时间。但是,可以保证在程序中首次引用该类前加载该类,并初始化该类的字段并调用其静态构造函数。静态构造函数仅调用一次,在程序驻留的应用程序域的生存期内,静态类一直保留在内存中。
MSDN_C#静态类和静态成员(http://msdn.microsoft.com/zh-cn/library/79b3xss3.aspx) |