यदि वैल्यू टाइप और रेफरेंस टाइप ऑब्जेक्ट टाइप से हैं जो एक संदर्भ प्रकार है, तो वैल्यू टाइप वैल्यू टाइप और रेफरेंस टाइप कैसे संदर्भित होता है जब वे सभी रिफर्नसे प्रकार से आते हैं।वैल्यू टाइप वीएस रेफरेंस टाइप - ऑब्जेक्ट क्लास सी #
7
A
उत्तर
12
असल में, यह
किसी भी struct
(अर्थात कुछ भी ValueType
से विरासत में मिली) ;-p एक धोखा मूल्य प्रकार अर्थ विज्ञान के साथ इलाज किया जाता है। लेकिन मुक्केबाजी रूपांतरणobject
आवश्यकतानुसार है; जिसका अर्थ है कि यदि आपने struct
को object
पर डाला है, तो यह आपके मूल्य * से डेटा (क्लोन के रूप में) युक्त एक विशेष वस्तु (प्रबंधित ढेर पर) बनाएगा।
बॉक्स किए गए संस्करण एक संदर्भ प्रकार है। आप इसे struct
संस्करण पर वापस (कास्टिंग करके) अनबॉक्स कर सकते हैं, जो इसे उलट देता है (ऑब्जेक्ट से क्लोन डेटा को आपके स्थानीय मूल्य में ढेर पर कॉपी करता है)।
* = जब तक कि यह एक खाली Nullable<T>
, है null
को जो बक्से; इसी तरह, null
खाली Nullable<T>
पर अनबॉक्स।
संबंधित मुद्दे
- 1. सी # ऑब्जेक्ट टाइप तुलना
- 2. जावा क्लास ऑब्जेक्ट टाइप वेरिएबल
- 3. "टाइप क्लास" नामक "टाइप क्लास" क्यों है?
- 4. अंतर कैसे टाइप करें वैल्यू टाइप या रेफरस टाइप?
- 5. सी ++ टेम्पलेट "क्लास टाइप" त्रुटियां
- 6. पायथन टाइप एरर: 'str' ऑब्जेक्ट क्लास
- 7. ऑब्जेक्ट टाइप
- 8. उच्च ऑर्डर पॉलीमोर्फिज्म + वैल्यू टाइप
- 9. सी # - टाइप
- 10. जावा क्लास टाइप
- 11. टाइप सुरक्षा: क्लास-ऑब्जेक्ट्स
- 12. कंपाइलर वैल्यू टाइप रेज़ोल्यूशन और हार्डकोडेड "0" इंटेगर वैल्यू
- 13. एंटिटी फ्रेमवर्क सीएफ स्टोर 'ऑब्जेक्ट टाइप' वैल्यू कर सकते हैं?
- 14. ओरेकल: ऑब्जेक्ट टाइप कॉलम
- 15. - ऑब्जेक्ट टाइप उपेक्षा?
- 16. ऑब्जेक्ट या आदिम टाइप
- 17. ऑब्जेक्ट और वैल्यू टाइप क्लास में गेटहाशकोड लागू करने के बीच क्या अंतर है?
- 18. टाइप
- 19. जावा ऑब्जेक्ट को अपने टाइप/क्लास नाम को स्ट्रिंग
- 20. टेम्पलेट क्लास टाइप कैसे करें?
- 21. टाइप
- 22. टाइप क्लास द्वारा वर्णित प्रकार को ऑब्जेक्ट कैसे डाला जाए?
- 23. टाइप
- 24. ऑब्जेक्ट का प्रदर्शन। गेट टाइप()
- 25. सी ++ टाइप आईडी
- 26. एंड्रॉइड प्रोगार्ड - जैक्सन के टाइप रेफरेंस क्लास में अवैध अर्ग्यूमेंट एक्सेप्शन
- 27. टाइप क्लास के साथ क्या गलत है?
- 28. टाइप
- 29. टाइप
- 30. टाइप
क्या आप मुझे समझा सकते हैं या जादू (धोखाधड़ी) कैसे हो रहा है इस पर एक लिंक को इंगित कर सकते हैं? यानी स्ट्रक्चर वैल्यू टाइप है जबकि ऑब्जेक्ट रेफरेंस टाइप – skjagini
@skjagini - बस, कंपाइलर और रनटाइम आसानी से स्पॉट कर सकता है कि कुछ 'वैल्यू टाइप' से लिया गया है, और इसे अलग तरीके से इलाज करें ... इसके अलावा? ECMA335 –
+1 हालांकि सी # जैसे भाषाएं बताती हैं कि एक बॉक्सिंग संरचना एक मूल्य प्रकार है, सीएलआर के गलतियों के भीतर प्रत्येक प्रबंधित मूल्य प्रकार में एक समान वर्ग प्रकार होता है जो संबंधित मान प्रकार के क्षेत्र को समाहित करता है, और उन सभी सदस्यों को लपेटता है वह क्षेत्र यहां तक कि अगर सी # भाषा का नमूना ऐसी चीज को एक मूल्य प्रकार कहता है, तो यह एक संदर्भ प्रकार के रूप में व्यवहार करेगा। – supercat