कृपया कोडक्या नाली योग्य डेटटाइम सही काम करता है?
DateTime? tmp = new DateTime();
tmp = null;
return tmp.ToString();
यह रिटर्न String.Empty
निम्नलिखित की जाँच करें।
क्या यह सही है?
हो सकता है यह कोड
कृपया कोडक्या नाली योग्य डेटटाइम सही काम करता है?
DateTime? tmp = new DateTime();
tmp = null;
return tmp.ToString();
यह रिटर्न String.Empty
निम्नलिखित की जाँच करें।
क्या यह सही है?
हो सकता है यह कोड
हाँ, यह सही है की दूसरी पंक्ति में अपवाद वृद्धि करने के लिए बेहतर होगा। वर्तमान Nullable<T>
वस्तु के मूल्य का documentation
पाठ प्रतिनिधित्व से अगर
HasValue
संपत्ति एक खाली स्ट्रिंग (""
) यदिHasValue
संपत्ति गलत है सच है, या।
भी ध्यान रखें कि Nullable<T>.Equals
और Nullable<T>.GetHashCode
इस मामले में फेंक नहीं है, लेकिन है कि Nullable<T>.GetType
फेंक करता है। ऐसा इसलिए है क्योंकि Object.Equals
, Object.GetHashCode
और Object.ToString
Nullable<T>
के लिए ओवरराइड किए गए हैं लेकिन Object.GetType
नहीं है (क्योंकि यह virtual
के रूप में चिह्नित नहीं किया जा सकता है)।
ठीक है, आपके उत्तर के लिए धन्यवाद। लेकिन आप कैसे सोचते हैं कि यह सही तरीका है? क्योंकि यदि आप स्ट्रिंग tmp = null का उपयोग करेंगे; tmp.ToString() यह अपवाद –
बढ़ाएगा क्योंकि 'HasValue' के साथ एक शून्य प्रकार' गलत 'संदर्भ' नहीं है। एक वैचारिक परिप्रेक्ष्य से, एक शून्य प्रकार एक मूल्य प्रकार का प्रतिनिधित्व करता है जिसमें मूल्य "गायब" होने की संभावना है। जब मूल्य गुम हो जाता है तो हम प्रतिनिधित्व करने के लिए 'शून्य' का उपयोग करते हैं, लेकिन यह 'शून्य' संदर्भ के समान नहीं है। ध्यान दें कि 'tmp.Value'' tmp' के मामले में 'हसलव्यू' के साथ एक शून्य प्रकार के उदाहरण के रूप में फेंक देगा। मूल्य गुम है इसलिए कहा गया मान प्राप्त करने की कोशिश करनी चाहिए और तदनुसार फेंक देना चाहिए। – jason