什么时候静态成员获取内存

时间:2010-04-16 08:13:31

标签: c# .net oop

我有一个有静态成员的类。据我所知,所有静态成员对于类的所有实例都是通用的,这意味着静态成员只会被分配一次内存。这个内存分配在哪里(堆栈或堆)以及何时分配这个内存?

编辑:此内存与实例级内存不同。如何引用这个内存?在编译时是否分配了这个内存?

3 个答案:

答案 0 :(得分:4)

静态成员始终存储在全局堆中,甚至是引用类型成员。但是,这个堆不是正常的垃圾收集堆。点击此处了解更多信息:http://www.codeproject.com/KB/cs/codeconcepts.aspx

答案 1 :(得分:1)

静态成员的内存分配是在时间使用类型时完成的,无论是变量声明还是静态成员访问。

如前所述,静态成员的内存分配是在堆上完成的。

答案 2 :(得分:0)

这个内存在堆上分配。每种类型都有静态构造函数,它执行类型的初始化。它在访问类型之前执行。