null
एक प्रकार है? एक शून्य मूल्य आंतरिक रूप से प्रतिनिधित्व कैसे किया जाता है? निम्नलिखित कोड में क्या हो रहा है?.Net/C# में, निरंतर दृढ़ता से टाइप किया गया है?
void Foo(string bar) {...}
void Foo(object bar) {...}
Foo((string)null);
संपादित करें: अब तक उत्तर अनपेक्षित और उच्च स्तर के हैं। मैं समझता हूं कि एक संदर्भ प्रकार ऑब्जेक्ट में स्टैक पर एक पॉइंटर होता है जो ढेर पर एक स्थान को इंगित करता है जिसमें एक सिंक ब्लॉक इंडेक्स, एक प्रकार हैंडल और ऑब्जेक्ट के फ़ील्ड होते हैं। जब मैं किसी ऑब्जेक्ट का उदाहरण null
पर सेट करता हूं, तो स्टैक पर पॉइंटर कहां इंगित करता है, बिल्कुल? और कोड स्निपेट में, सी # कंपाइलर द्वारा आसानी से उपयोग किया जाने वाला कास्ट तय करने के लिए किया जाता है, और वास्तव में कोई भी कास्टिंग चालू नहीं है?
मैं सीएलआर आंतरिकों को समझने वाले किसी व्यक्ति द्वारा गहराई से जवाब ढूंढ रहा हूं।
तो जब मैं 'शून्य' का जिक्र कर रहा हूं तो स्टैक पर वास्तव में क्या होगा? –
@ मैट - अधिक निम्न स्तर के विवरण जोड़ने के लिए संपादित किया गया। क्या यह पर्याप्त है? –
@ ग्रेग: धन्यवाद - मैं काम पर व्यस्त था इसलिए आईएल और ईसीएमए खुद को जांचने का समय नहीं था। इसने मेरे बौद्धिक खुजली खरोंच की है। –