आपके परिदृश्य में ऐसा लगता है कि ऑब्जेक्ट का वास्तविक निर्माण आपके GetList()
विधि के अंदर किया जा रहा है। तो आपका पहला नमूना सही उपयोग होगा।
बनाया गया, तो आपके List<MyCustomClass>
ढेर में संग्रहीत है, और आपके listCustClass
बस उस नई वस्तु का संदर्भ है। जब आप listCustClass को GetList()
पर सेट करते हैं तो listCustClass
के संदर्भ सूचक को त्याग दिया जाता है और संदर्भ सूचक के साथ प्रतिस्थापित किया जाता है जो GetList()
रिटर्न (शून्य हो सकता है)। जब ऐसा होता है तो आपका मूल List<MyCustomClass>
अभी भी ढेर में है, लेकिन कोई ऑब्जेक्ट्स इसके लिए इंगित नहीं करता है, इसलिए कचरा कलेक्टर के आसपास आने तक इसे केवल बर्बाद कर रहा है और इसे साफ़ कर देता है।
हर बार जब आप एक नई वस्तु बनाते हैं तो इसे समेटने के लिए, दूसरे उदाहरण की तरह इसे छोड़ दें, आप अनिवार्य रूप से बेकार जानकारी के साथ ढेर भरकर स्मृति बर्बाद कर रहे हैं।
क्या आप वास्तव में पूछ रहे हैं कि आपको कारखानों को लिखना चाहिए या नहीं? – annakata
नहीं, मुझे लगता है कि वह समझ में नहीं आता है कि "नया" का अर्थ है एक कन्स्ट्रक्टर कॉल और एक नई वस्तु का निर्माण। अन्यथा वह एक नई वस्तु बनाने और फिर इसे फेंकने से बेहतर जानता होगा। हो सकता है कि वह वीबीएनईटी से आ रहा है, जहां "नया" कीवर्ड घोषणा वाक्यविन्यास का हिस्सा हो सकता है, इसलिए वह सोचता है कि यह सी # में है। –
मुझे इस पर सी # और .NET टैग के बारे में निश्चित नहीं है क्योंकि यह एक सामान्य सामान्य ओओपी प्रश्न है। – Welbog