में ऑब्जेक्ट्स बनाने के लिए सर्वोत्तम अभ्यास या ऑब्जेक्ट्स से निपटने के लिए सबसे अच्छा अभ्यास क्या है? क्या हमें लूप के बाहर एक ऑब्जेक्ट बनाना चाहिए और इसे फिर से फिर से बनाना चाहिए (नया उपयोग कर ...) या प्रत्येक लूप पुनरावृत्ति के लिए नया बनाएं?
उदाहरण:/foreach loops
foreach(var a in collection)
{
SomeClass sc = new SomeClass();
sc.id = a;
sc.Insert();
}
या
SomeClass sc = null;
foreach(var a in collection)
{
sc = new SomeClass();
sc.id = a;
sc.Insert();
}
कौन सा बेहतर है?
+1 - वस्तुओं को केवल घोषित किया जाना चाहिए कि उन्हें कहां और कब आवश्यकता हो। यदि आपको int लूप में int की आवश्यकता है तो इसे फंक्शन बॉडी के शीर्ष पर नहीं लूप के लिए घोषित करें। कोड पूर्ण :) देखें। – JonH
नेट वैरिएबल घोषणा में विधि के लिए वास्तव में मेटा-डेटा है। कोड में चर बनाया गया वास्तविक स्थान केवल संकलक के लिए दायरा को प्रभावित करता है ... दूसरे शब्दों में, इन दो उदाहरणों के बीच कोई प्रदर्शन अंतर नहीं है। –
एक बार एक बार, आईएल में उन दो लूप (जावा और सी ++ के साथ) के बीच उत्पादित मामूली अंतर थे, हालांकि देखभाल करने के लिए पर्याप्त नहीं था। सुनिश्चित नहीं है कि वर्तमान कंपाइलर्स ने इसे बदल दिया है या यदि सीएलआर अतिरिक्त आईएल को दूर करता है। –