स्ट्रिंग ऑब्जेक्ट == और! = ऑपरेटरों का उपयोग करते समय वैल्यू प्रकार की तरह व्यवहार करता है जिसका अर्थ है संदर्भ के बजाए वास्तविक वस्तु की जांच की जाती है।कैसे एक स्ट्रिंग प्रकार किसी विधि को पास किया जाता है या सी # में एक चर के लिए असाइन किया जाता है?
पैरामीटर पास करने, असाइनमेंट और कॉपी करने के बारे में क्या?
स्ट्रिंग पैरामीटर पासिंग: एक संदर्भ प्रकार एक विधि के लिए पारित किया जाता है, इसके संदर्भ नकल की जाती है लेकिन अंतर्निहित वस्तु ही रहता है।
क्या यह स्ट्रिंग प्रकार सी # के बारे में भी सच होगा?
public static void main()
{
string messageVar = "C#";
Test(messageVar);
// what about in assignement?
string messageVar2 = messageVar;
}
public void Test(string messageParam)
{
// logic
}
के बारे में क्या जब यह एक चर के लिए निर्दिष्ट की: मैं वहाँ 2 संकेत (messageVar और messageParam) नीचे दिए गए कोड में एक ही वस्तु की ओर इशारा करते होगा मतलब है? मुझे लगता है कि संदर्भ केवल कॉपी किया जाएगा और वास्तविक वस्तु स्ट्रिंग इंटरनेशनल पूल में एक ही कैश रहती है। निश्चित नहीं।
संदेश क्या होगा Var2 भी उसी वस्तु को संदर्भित करता है?
धन्यवाद,
अच्छा; ऑब्जेक्ट्स एक्वाल्स और ऑब्जेक्ट के बीच क्या अंतर है। स्ट्रिंग्स के साथ काम करते समय संदर्भ। –
तारों के लिए 'बराबर()' संदर्भ के बावजूद * स्ट्रिंग समानता * के लिए परीक्षण करेगा, उदा। "foo" "foo" के बराबर है, भले ही दोनों स्ट्रिंग अलग-अलग ऑब्जेक्ट उदाहरणों को इंगित करें – BrokenGlass