गार्बेज कलेक्टर (GC) मेमोरी के आवंटन और रिलीज को मैनेज करता है। गार्बेज कलेक्टर एक ऑटोमैटिक मेमोरी मैनेजर के रूप में कार्य करता है।
आपको यह जानने की आवश्यकता नहीं है कि मेमोरी को कैसे आवंटित और रिलीज करना है या उन ऑब्जेक्ट्स के लाइफटाइम को कैसे मैनेज करना है जो उस मेमोरी का उपयोग करते हैं।
जब भी आप "new" कीवर्ड के साथ ऑब्जेक्ट डिक्लेयर करते हैं या वैल्यू टाइप बॉक्स होता है, तो आवंटन होता है। आवंटन आमतौर पर बहुत तेज होता है।
जब किसी ऑब्जेक्ट को आवंटित करने के लिए पर्याप्त मेमोरी नहीं होती, तो GC को गार्बेज मेमोरी को कलेक्ट और डिस्पोज़ करना पड़ता है ताकि नए आवंटन के लिए मेमोरी उपलब्ध हो सके।
इस प्रक्रिया को गार्बेज कलेक्शन के नाम से जाना जाता है।
C# में गार्बेज कलेक्शन के निम्नलिखित फायदे हैं -
एप्लिकेशन विकसित करते समय आपको मैन्युअली मेमोरी फ्री करने की आवश्यकता नहीं होती।
यह मैनेज्ड हीप पर ऑब्जेक्ट्स को कुशलतापूर्वक आवंटित करता है।
जब ऑब्जेक्ट्स उपयोग में नहीं रहते तो यह उनकी मेमोरी क्लियर करके उसे पुनः प्राप्त करता है, और भविष्य के आवंटन के लिए मेमोरी उपलब्ध रखता है।
मैनेज्ड ऑब्जेक्ट्स को ऑटोमैटिकली क्लीन कंटेंट मिलता है, इसलिए उनके कंस्ट्रक्टर्स को हर डेटा फील्ड को इनिशियलाइज़ करने की आवश्यकता नहीं होती।