अपरिवर्तनीय मूल्य प्रकार और अपरिवर्तनीय संदर्भ प्रकार शब्दार्थ सभी लेकिन समान हैं; केवल अंतर यह है कि संदर्भ प्रकार समर्थन संदर्भ समानता जांच जो अर्थपूर्ण हो सकता है या नहीं भी हो सकता है, और उस मान प्रकार को एक नालीबल (टी में) में लपेटा जा सकता है जबकि संदर्भ प्रकार निहित रूप से शून्य होते हैं। यदि एक प्रकार अपरिवर्तनीय होने जा रहा है, इस पर निर्भर करता है कि इसका उपयोग कैसे किया जाएगा, संरचना या कक्षा के पक्ष में प्रदर्शन कारण हो सकते हैं; कुछ संचालन (लगभग सभी संचालन, चार बाइट से कम आकार के लिए) के लिए structs तेजी से होते हैं, जबकि कुछ अन्य लोगों के लिए कक्षाएं तेजी से बढ़ सकती हैं (विशेष रूप से 16 बाइट से बड़ी चीजों के लिए)। इसके अलावा, कुछ प्रकार के संचालन अनिवार्य रूप से structs के साथ असंभव हैं।
म्यूटेबल स्ट्रक्चर प्रकार उपयोगी हैं, कुछ नायकों का दावा करने के विपरीत, लेकिन कुछ चेतावनी हैं। यदि किसी के पास एक वेरिएबल है जो एक म्यूटेबल क्लास ऑब्जेक्ट का संदर्भ रखता है, और कोई उस ऑब्जेक्ट को बदलने के लिए कुछ करता है, तो वह परिवर्तन प्रभावी रूप से उस ऑब्जेक्ट का संदर्भ रखने वाले सभी चीज़ों द्वारा "देखा" जाएगा। अगर कोई किसी और चीज को परेशान किए बिना किसी वस्तु को बदलना चाहता है, तो उसे पता होना चाहिए कि उस वस्तु का एकमात्र संदर्भ है। अक्सर बार-बार यह सुनिश्चित करने का एकमात्र तरीका ऑब्जेक्ट से सभी डेटा को एक नए ऑब्जेक्ट इंस्टेंस में कॉपी करना है, और उसके बाद उस नए इंस्टेंस में परिवर्तन करना है। इसके विपरीत, अगर किसी के पास एक परिवर्तनीय संरचना है, तो कोई भी नया उदाहरण बनाने के बिना जो कुछ भी चाहता है उसे आसानी से कर सकता है।
उत्परिवर्तनीय structs के साथ एकमात्र असली समस्या यह है कि .net एकीकृत प्रकार प्रणाली के हिस्से के रूप में व्यवहार करने के लिए विभिन्न abstractions का उपयोग करता है, और इन abstractions संरचनाओं की प्रतियों का उपयोग उन जगहों पर किया जा सकता है जहां मूल रूप से मूल रूप से उपयोग किया जाना चाहिए । यह हमेशा स्पष्ट नहीं होता है जब ये प्रतिस्थापन हो सकते हैं, और वे भ्रमित और ग़लत व्यवहार कर सकते हैं।
यदि आप तय नहीं कर सकते हैं, तो यह लगभग निश्चित रूप से 'कक्षा' है। यह वैध रूप से * एक संरचना लिखने के लिए अविश्वसनीय रूप से दुर्लभ है। –
तुर्की प्रोग्रामर के लिए, मेरे पास इसके बारे में एक ब्लॉग पोस्ट है http://sonergonul.net/2012/12/net-icerisinde-deger-tipi-ve-referans-tipi/ –