मैंने हाल ही में सोचा कि string
+
-ऑपरेटर ओवरलोड करता है। केवल एक ही तरीके जिन्हें मैं देख सकता हूं ==
and !=
है। दो तारों को + के साथ संयोजित क्यों किया जा सकता है भले ही उस ऑपरेटर को ओवरलोड नहीं किया गया हो? क्या यह सिर्फ जादू कंपाइलर चाल है या क्या मुझे कुछ याद आ रहा है? यदि पूर्व, स्ट्रिंग क्यों इस तरह से डिजाइन किया गया था?स्ट्रिंग concatenation के लिए स्ट्रिंग अधिभार + ऑपरेटर कहां है?
यह प्रश्न this से उठाया गया था। object
से 0 ऑब्जेक्ट्स को दोबारा जोड़ने के लिए +
का उपयोग नहीं कर सकता है, इसलिए string
ऑपरेटरों को ओवरलोड करने की परवाह नहीं है, तो इस ऑपरेटर को अधिभारित नहीं किया जाता है।
काफी समान: [सी # + ऑपरेटर स्ट्रिंग.कोनकैट फ़ंक्शन कॉल करता है?] (Http://stackoverflow.com/questions/13617707/c-sharp-operator-calls-string-concat-function) –
@ सोनर गॉनुल: हाँ, अब मुझे कुछ प्रश्न भी मिल गए हैं जैसे [यह] (http://stackoverflow.com/questions/10341188/string-concatenation-using-operator)। मैंने यह भी सोचा कि मैंने इस सवाल से पहले एक डुप्लिकेट क्यों पाया है। –
क्यों चिंता करते हैं: ध्यान रखें कि सीएलआर कई भाषाओं का समर्थन करता है। कुछ मनमानी वस्तुओं के साथ स्ट्रिंग concatenation के लिए '+' का उपयोग करने के लिए C# के संदिग्ध निर्णय का पालन नहीं करना चाहेंगे। – CodesInChaos