2013-03-17 9 views
8

कैसे मैं यह बताने के लिए जान सकता हूं कि ऑब्जेक्ट कचरा गया है या नहीं?कैसे ऑब्जेक्ट को कचरा दिया गया है

+0

'डुप्लीकेट' प्रश्न बहुत, विशिष्ट इसलिए फिर से खोल नहीं है। यह एक विशिष्ट प्रश्न पूछता है और इसका एक विशिष्ट उत्तर है। – leppie

उत्तर

24

this के अनुसार:

आप आम तौर पर नहीं बता सकता एक वस्तु के लिए कुछ संदर्भ का उपयोग करके कचरा एकत्र किया गया है कि क्या वस्तु है क्योंकि एक बार आप ऑब्जेक्ट के संदर्भ है, यह कचरा एकत्र नहीं किया जाएगा ।

इसके बजाय आप WeakReference ऑब्जेक्ट का उपयोग करके किसी ऑब्जेक्ट का कमजोर संदर्भ बना सकते हैं। कमजोर संदर्भ वह है जिसे कचरा संग्रह के प्रयोजनों के लिए संदर्भ के रूप में नहीं माना जाएगा।

नीचे दिए गए कोड में, हम यह दिखाने के लिए कचरा संग्रह से पहले और बाद में जांच करते हैं कि एक कुत्ता वस्तु कचरा एकत्रित होती है।

 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

संबंधित मुद्दे

 संबंधित मुद्दे