एमएसडीएन दस्तावेज आपको विशेष कार्यान्वयन के बारे में बता रहा है जो माइक्रोसॉफ्ट सी # कंपाइलर struct
के लिए उपयोग करता है। उन विशेष विवरण ईसीएमए 334 सी # विनिर्देश में नहीं हैं; वे struct
एस के अर्थशास्त्र का हिस्सा नहीं हैं। इसलिए, दस्तावेज में उन विवरण कार्यान्वयन विवरण हैं।
मुझे लगता है कि कहीं कहीं एरिक लिपर्ट पढ़ना याद है कि वह चाहता है (या पसंद करता है, मुझे याद नहीं है कि उसने किस स्तर की प्राथमिकता प्रदान की है) दस्तावेज ने struct
एस के संबंध में ढेर का कोई उल्लेख नहीं किया है। मैं देखूंगा कि मैं इसे खोद सकता हूं या नहीं।
यहाँ है, ब्लॉग पोस्ट है कि आप से जुड़ा हुआ से:
मुझे खेद है कि प्रलेखन क्या सबसे अधिक प्रासंगिक है पर ध्यान केंद्रित नहीं करता है; बड़े पैमाने पर अप्रासंगिक कार्यान्वयन विस्तार पर ध्यान केंद्रित करके, हम उस कार्यान्वयन के विस्तार के महत्व को बढ़ाते हैं और मूल्य के प्रकार को अर्थपूर्ण रूप से उपयोगी बनाने के महत्व को अस्पष्ट करते हैं। मैं बहुत इच्छा करता हूं कि ये सभी लेख बताते हैं कि "स्टैक" क्या है, इसके बजाय समझाता है कि वास्तव में "मूल्य द्वारा प्रतिलिपि" का अर्थ क्या है और "मूल्य द्वारा प्रतिलिपि" को गलतफहमी या दुरुपयोग करने से बग का कारण बन सकता है।
ईसीएमए 334 सी # विनिर्देश का प्रासंगिक खंड §11 है। ध्यान दें कि इस खंड में "स्टैक" शब्द का कभी भी उपयोग नहीं किया जाता है। अनुभाग केवल सिंटैक्स को बताता है, struct
एस अनुवर्ती मूल्य अर्थशास्त्र, कि वे System.ValueType
से पूर्ण रूप से मुहरबंद और उत्तराधिकारी हैं, struct
प्रकार के चर के लिए असाइनमेंट एक प्रतिलिपि बनाता है, जो struct
को मानकर पैरामीटर के रूप में पास करता है, एक प्रति बनाता है, कैसे struct
रों (struct
में सभी मान प्रकार खेतों उनके डिफ़ॉल्ट मानों की तैयारी में हैं, और सभी संदर्भ प्रकार क्षेत्रों null
की तैयारी में हैं) डिफ़ॉल्ट मानों के लिए सेट कर रहे हैं, मुक्केबाजी और struct
की unboxing, struct
रों लिए this
का अर्थ आसपास के नियम , और क्षेत्र प्रारंभिकरण, रचनाकार, विनाशक और स्थिर रचनाकार struct
एस के लिए कैसे काम करते हैं। फिर, ढेर का कोई जिक्र नहीं। कभी।
ढेर एक कार्यान्वयन विस्तार है, struct
के अर्थशास्त्र का हिस्सा नहीं है।
प्रश्न से संबंधित: http://stackoverflow.com/questions/1970894/struct-what-is-it-for/1970902#1970902 –
मैंने बस कुछ समय पहले डुप्लिकेट के रूप में फ़्लैग किया :) – RCIX