इनमें से दूसरा क्यों अपवाद उत्पन्न करता है जबकि पहला नहीं होता है?नल स्ट्रिंग पर टॉस्ट्रिंग
string s = null;
MessageBox.Show(s);
MessageBox.Show(s.ToString());
अपडेट किया गया - अपवाद मैं समझ सकता, पेचीदा बिट (मेरे लिए) यही कारण है कि पहले भाग एक अपवाद नहीं दिखाती है। संदेशबॉक्स के साथ ऐसा कुछ भी नहीं है, जैसा कि नीचे दिखाया गया है।
उदाहरण के लिए:
string s = null, msg;
msg = "Message is " + s; //no error
msg = "Message is " + s.ToString(); //error
पहले भाग परोक्ष एक खाली स्ट्रिंग के लिए एक अशक्त परिवर्तित प्रतीत होता है।
करने का सुरक्षित तरीका- देखें [संभावित रूप से शून्य वस्तु के लिए ToString कैसे करें?] (Http://stackoverflow.com/a/3987671) –
स्ट्रिंग या ऑब्जेक्ट पर 'शून्य' क्षति से बचने के लिए, 'obj ?।तार() ?? "" – bvj