c# - Why does .ToString() on a null string cause a null error, when .ToString() works fine on a nullable int with null value? -
मैं समझता हूं कि नल योग्य ऑब्जेक्ट का मान होना चाहिए। यह इस पर छूता है, लड़का अनिवार्य रूप से एक ही बात पूछ रहा है, लेकिन कोई निश्चित जवाब नहीं है, और यह भी क्यों नहीं एक nullable क्योंकि नल योग्य प्रकार के बारे में जानने के लिए चेक करें। चयनित आईटम के दो फ़ील्ड हैं:
int ? इस उदाहरण में,
_cost और
_serialNumber
/ कोड> का
चुने हुए आईटम दोनों नल हैं मैं उनके गुणों के माध्यम से
selectedItem के खेतों के माध्यम से पढ़ रहा हूं, और अपने मूल्यों के साथ टेक्स्ट बॉक्स भरता हूं, जब ...
TextBox1.Text = selectedItem.Cost.ToString (); // कोई त्रुटि नहीं TextBox2.Text = selectedItem.SerialNumber.ToString (); // त्रुटि
serialnumber.ToString () अनावश्यक है (क्योंकि यह पहले से ही एक स्ट्रिंग है), लेकिन मुझे समझ में नहीं आ रहा है कि यह क्यों कारण है अपवाद:
int? _cost नल है, और मेरे पास मूल्य नहीं है, फिर भी यह मुझे अपवाद नहीं देता है।
स्ट्रिंग _ शीतल संख्या नल योग्य है, और इसमें कोई मान नहीं है, फिर भी यह करता है मुझे अपवाद दे।
int समझाता है? उदाहरण के लिए, क्या मैं null स्ट्रिंग पर
.toString () का उपयोग कर सकता हूँ लेकिन नल स्ट्रिंग पर नहीं?
स्ट्रिंग प्रकार का
null वास्तव में कुछ भी नहीं है, स्मृति में कोई वस्तु नहीं है।
लेकिन int? प्रकार (नल योग्य) यहां तक कि
null पर सेट मान के साथ कुछ ऑब्जेक्ट को भी अंक देता है।
अगर आप जेफरी रिचटर की "सीएलआर के माध्यम से सी #" पढ़ते हैं तो आपको पता चल जाएगा कि रिक्त प्रकार सिर्फ मुखौटा वर्ग हैं
Comments
Post a Comment