#733 – How to Tell If an Object Has Been Garbage Collected
December 11, 2012 1 Comment
You normally can’t tell whether an object has been garbage collected by using some reference to the object–because once you have a reference to the object, it won’t be garbage collected.
You can instead create a weak reference to an object using the WeakReference object. The weak reference is one that won’t be counted as a reference, for purposes of garbage collection.
In the code below, we check before and after garbage collection to show that a Dog object is garbage collected.
Dog dog = new Dog("Bowser"); WeakReference dogRef = new WeakReference(dog); Console.WriteLine(dogRef.IsAlive); dog = null; GC.Collect(); Console.WriteLine(dogRef.IsAlive);