2013-03-17 75 views

回答

24

根据this

通常你不能告诉一个对象是否已通过使用一些参考垃圾收集对象,因为一旦你有对象的引用,也不会被垃圾收集。

您可改为使用WeakReference对象创建对对象的弱引用。为了进行垃圾回收,弱引用是不会被视为引用的引用。

在下面的代码中,我们检查垃圾收集之前和之后显示Dog对象是垃圾收集。

 Dog dog = new Dog("Bowser"); 

     WeakReference dogRef = new WeakReference(dog); 
     Console.WriteLine(dogRef.IsAlive); 

     dog = null; 
     GC.Collect(); 

     Console.WriteLine(dogRef.IsAlive); 

enter image description here

相关问题