मुझे लगता है कि यह एक बहुत ही मूर्ख सवाल है लेकिन मैं चारों ओर देख रहा हूं और निम्नलिखित प्रश्नों पर उत्तर नहीं ढूंढ पाया। वास्तव में इस पर प्रकाश डालने के उत्तर की सराहना करते हैं।समान चर पर बार-बार नई वस्तुओं को बनाना
1) पिछले ऑब्जेक्ट का क्या होता है यदि एक ही विधि में एक नया प्रारंभ करने पर होता है। उदाहरण:
DataTable dataTable = new DataTable();
dataTable = new DataTable(); // Will the previously created object be destroyed and memory freed?
2) वही प्रश्न (1) लेकिन स्थैतिक चर पर। उदाहरण:
static private DataView dataView;
private void RefreshGridView()
{
dataView = new DataView(GetDataTable()); // Will the previously created objects be destroyed and memory freed?
BindGridView();
}
धन्यवाद!
सहित सभी प्रकार के चर के लिए समान है, मुझे एहसास है कि (1) में कोड नमूना कुछ जटिलता का सरलीकरण है, लेकिन मैंने सोचा कि मैं टिप्पणी करूंगा कि यह एक परेशान कोडिंग अभ्यास जैसा दिखता है जो मैं हर समय देखता हूं , आमतौर पर परिवर्तनीय घोषणा में आरंभिक नई ऑब्जेक्ट असाइनमेंट के तुरंत बाद चर द्वारा किसी फ़ंक्शन द्वारा लौटाए गए मान को असाइन करने के रूप में। पहला असाइनमेंट करने में कोई बात नहीं है (जब तक कि कन्स्ट्रक्टर किसी प्रकार का दुष्प्रभाव नहीं लेता, जो कि वैसे भी बहुत खराब/संदिग्ध कार्यान्वयन होगा)। –