3
我知道,如果一個對象沒有引用,而GC清除它,對象的WeakReference.Target屬性將返回null,檢查WeakReference的目標引用計數
但是假設對象沒有很強的參考,但GC還沒有清除它,無論如何檢查它的WeakReference是否有任何強大的參考?
我知道,如果一個對象沒有引用,而GC清除它,對象的WeakReference.Target屬性將返回null,檢查WeakReference的目標引用計數
但是假設對象沒有很強的參考,但GC還沒有清除它,無論如何檢查它的WeakReference是否有任何強大的參考?
IsAlive是否有返回false的機會,但WeakReference.Target不會爲null? (換句話說 - IsAlive屬性只在GC運行時才更新?) – sternr
@sternr對不起,關於IsAlive屬性的評論被刪除了,因爲我看到你已經提到了Target在你的問題中的空檢查。確定一個物體是否存在的兩種方法總會給出相同的結果。 –
看看這篇不錯的文章:http://msdn.microsoft.com/en-us/magazine/bb985011.aspx –