के रूप में लौटने विधि से गुजर रहा है, तो मैं इस तरह कोड है:के रूप में देर से संभव के रूप में चर घोषणा और एक पैरामीटर
string s = MyClass.GetString(); // Returns string containing "hello world";
ProcessString(s);
इस से किसी भी धीमी है?
ProcessString(MyClass.GetString());
यदि हां, तो क्यों? दूसरे उदाहरण में, संकलक आमतौर पर GetString() से एक चर बनाते हैं; विधि जो एक स्ट्रिंग देता है?
इसके अलावा, जितनी देर हो सके वैरिएबल घोषित करने का क्या फायदा है? क्या इससे जीसी लाभ होता है? यदि हां, तो कैसे (मैं जीसी जेन्स के मामले में मान रहा हूं)?
धन्यवाद
धन्यवाद। तो दो कोड उदाहरणों के लिए, वे हुड के नीचे काफी समान हैं। मैं अपनी दूसरी क्वेरी पर आपका उत्तर पूरी तरह से समझता हूं। :) – dotnetdev
यदि आप ब्लॉक के शीर्ष पर चर घोषित करते हैं, तो बाद में उन्हें असाइन करें, आप अनावश्यक रूप से अपने डिफ़ॉल्ट कन्स्ट्रक्टर को कॉल कर रहे हैं। शायद ज्यादातर मामलों में एक बड़ा सौदा नहीं है। –
जॉर्ज वी रेली ने कहा, "यदि आप ब्लॉक के शीर्ष पर चर घोषित करते हैं, तो बाद में उन्हें असाइन करें, आप अनावश्यक रूप से अपने डिफ़ॉल्ट कन्स्ट्रक्टर को कॉल कर रहे हैं" लेकिन यह केवल सी ++ में सच है। प्रश्न को सी # के रूप में टैग किया गया था और इस मामले में कोई कन्स्ट्रक्टर नहीं बुलाया गया था। संदर्भ में मूल्य शून्य है। – alexk7