स्ट्रिंग डेटा प्रकार में .ToString()
विधि क्यों है?स्ट्रिंग प्रकार में .ToString() विधि क्यों है?
उत्तर
System.String
, almost जैसे सभी प्रकार .NET में System.Object
से निकले हैं। Object
में ToString()
विधि है और इसलिए String
इस विधि को प्राप्त करता है। यह एक वर्चुअल विधि है और String
उस प्रकार के नाम को वापस करने के लिए डिफ़ॉल्ट कार्यान्वयन का उपयोग करने के बजाय स्वयं को संदर्भ देने के लिए ओवरराइड करता है। है न कोई डेटा प्रकार
public override string ToString()
{
return this;
}
स्ट्रिंग एक वस्तु है, यह:
परावर्तक से, इस Object
में ToString के कार्यान्वयन है:
public virtual string ToString()
{
return this.GetType().ToString();
}
और यह String
में ओवरराइड है। चूंकि स्ट्रिंग एक ऑब्जेक्ट है, यह रूट ऑब्जेक्ट टू ToString() विधि से प्राप्त होता है।
यह सिर्फ जावा, ऑब्जेक्टिव-सी या स्काला :) में तरह
यह जावा के लिए भी सच है, मैं ऑब्जेक्ट ओरिएंटेड कार्यक्रमों की भाषाओं के सबसे लगता है कि इस सवाल में वस्तुओं की एक स्ट्रिंग प्रतिनिधित्व है, हर के बाद से कक्षा जिसे आप डिफ़ॉल्ट रूप से बनाते हैं, यह ऑब्जेक्ट से निकाला जाता है जिसके परिणामस्वरूप toString() विधि होती है, याद रखें कि यह केवल उन वस्तुओं पर लागू होता है जो कि प्रारंभिक प्रकारों के लिए नहीं हैं।
जैसा कि मार्क बताता है, यह सिर्फ खुद के लिए एक संदर्भ लौट रहा है। लेकिन, यह महत्वपूर्ण क्यों है? सभी मूल प्रकारों को स्वयं का एक स्ट्रिंग प्रतिनिधित्व वापस करना चाहिए। आप किसी भी बुनियादी प्रकार गुजरती हैं और लोग इन यह सामग्री है करने के लिए
public void Log(object o) {
Console.WriteLine(o.ToString());
}
यह अनुमति देता है: एक प्रवेश समारोह है कि इस तरह से काम किया है की कल्पना करें। स्ट्रिंग को स्वयं लौटने के बिना, यह बस इसकी सामग्री के बजाय "स्ट्रिंग" प्रिंट करेगा। आप टेम्पलेट फ़ंक्शन के साथ भी वही काम कर सकते हैं।
सोचो यह मूर्खतापूर्ण है? यह मूल रूप से स्ट्रिंग स्वरूपण कार्य करता है। यह "ToString" कहता है जब आप ऐसा करते हैं:
Console.WriteLine("{0}", myString);
सी # में किसी भी वस्तु, एक स्ट्रिंग के लिए विधि है, हालांकि मैं एक कारण नहीं सोच सकते हैं क्यों एक पल ToString पर एक तार के लिए एक स्ट्रिंग डाली हैं() ऑब्जेक्ट प्रकार से विरासत में मिला है, जो निश्चित रूप से एक स्ट्रिंग का एक उदाहरण है।
यदि आपकी स्ट्रिंग नल है और आप इसका उपयोग करते हैं तो आप एक नल संदर्भ अपवाद प्राप्त करेंगे। ToString();
निम्नलिखित फेंक देगा:
string.Format("msgBoxTitle = {0}", msgBoxTitle.ToString())
बेस्ट सिर्फ लिखने के लिए ... इस फेंक नहीं होंगे।
string.Format("msgBoxTitle = {0}", msgBoxTitle)
- 1. क्यों toString() विधि जावा
- 2. toString() विधि
- 3. सी #: सार्वजनिक नई स्ट्रिंग ToString() वीएस सार्वजनिक ओवरराइड स्ट्रिंग ToString()
- 4. Moq ओवरराइड ToString विधि क्यों नहीं चलाता है?
- 5. .ToString() विधि कैसे काम करती है?
- 6. जब toString() विधि
- 7. ToString क्यों है() मेरा डबल वैल्यू राउंडिंग?
- 8. संशोधित toString() विधि JComboBox स्विंग
- 9. toString() जावा में एक सामान्य प्रकार
- 10. जावास्क्रिप्ट समकक्ष() और toString() में सी # में बराबर है?
- 11. LINQ विधि को नहीं पहचानता है 'System.String ToString()' विधि
- 12. क्यों परोक्ष बुला करता है एक मान प्रकार पर toString एक बॉक्स अनुदेश
- 13. ToString
- 14. 100.toString बनाम 100 ['toString']
- 15. .ToString(), (स्ट्रिंग), या स्ट्रिंग के रूप में। कब उपयोग करें?
- 16. रिटर्निंग नल स्ट्रिंग प्रकार
- 17. स्ट्रिंग (शून्य) क्यों काम करता है?
- 18. ऑब्जेक्ट .toString()
- 19. क्या इंटरफेस को स्ट्रिंग विधि है?
- 20. अनबॉक्सिंग या toString() जावा
- 21. क्यों "foo" .toString() toString.call ("foo") के समान नहीं है?
- 22. स्ट्रिंग concatenation के साथ या बिना। ToString()?
- 23. विधि "ToString" के लिए कोई अधिभार नहीं है 1 तर्क
- 24. जावा enum - क्यों उपयोग toString के बजाय नाम
- 25. जावास्क्रिप्ट - toString() के विपरीत?
- 26. ओबीजेसी विधि प्रकार एन्कोडिंग स्ट्रिंग में अंक क्या हैं?
- 27. मुक्केबाजी जब बुला toString()
- 28. क्यों क्लास क्लास में रिसोर्सएस्ट्रीम विधि है?
- 29. क्यों कंसोल दर्ज ऑब्जेक्ट की 'toString` विधि का उपयोग नहीं करता है?
- 30. जब मैं ऑब्जेक्ट प्रिंट करता हूं तो ToString() विधि को क्यों कहा जाता है?
बहुत बढ़िया जवाब –