2009-05-19 128 views

回答

6

方法和类不清理。对象是。

如果您有一个对象的静态引用,则一旦静态超出范围(即AppDomain被卸载)时,将清除所讨论的对象。

0

据我所知,AppDomain被收集时(这是您的应用程序关闭时)发生。

-1

否。静态类将不会被删除,直到您的应用程序域被关闭。

0

如果你在引用静态字段,那么没有,没有必要。它们根据定义一直保留到进程结束(或AppDomain)。

如果你指的通过代码静态方法则是堆分配的内存将通过GC来收拾分配的局部变量

1

重复:Garbage collection of static members

我也可以提,当对象将被集。方法和类不会被收集。

public class TestClass 
{ 
    public static Hashtable h_object = new Hashtable(); 
} 

TestClass.h_object = null; 
//* here it has no more references and it will be added to GC. 
0

静态意味着只有一个这种类型的对象。最好的例子是主要的方法。它只存在一次。因此垃圾收集也会收集这些对象,但不会自动在程序中,只是在最后。

除了LukasŠalkauskas用“some_object”表示的内容。“some_other_obj”= null;