अब, इसके बारे में बात करने के लिए बहुत कुछ है। गंभीरता से, नेट पर इस विषय के बारे में सौ पृष्ठ हैं, और इसमें से अधिकांश मेरे मस्तिष्क पदार्थ को खतरनाक दर पर जलते हैं।
मुझे वास्तव में क्या याद आया, int और Int32 एक ही चीज़ है, और दोनों एक वर्ग की तरह एक संरचना की तरह कार्य करते हैं। Int32 के लिए शॉर्टकट होने के नाते "int"। (यदि आप एक पूर्णांक पर अपने माउस डालें, तो टूलटिप लिखा है "struct System.Int32" जिसका मतलब है:।।
public class BoxedInt
{
public int x;
public BoxedInt(int i) { x = i; }
}
public Test()
{
BoxedInt bi = new BoxedInt(10);
Boxed(bi);
Console.WriteLine(bi.x); // Returns 11, as any reference type would.
int vi = 10;
Valued(vi);
Console.WriteLine(vi); // Returns 10, because it acts like a struct. (Which it is)
}
public void Boxed(BoxedInt i)
{
i.x++;
}
public void Valued(int i)
{
i++;
}
[System.ValueType] (http://msdn.microsoft.com/ en-us/library/system.valuetype.aspx) – Oded
_ सिस्टम से हटाया गया। ValueType class_ यह प्राप्त करने का एक विशेष रूप है, विरासत के समान नहीं। यह एफएक्स में बनाया गया है। –
भविष्य के पाठकों के लिए: [** मूल्य प्रकार के बारे में सत्य **] (http://blogs.msdn.com/b/ericlippert/archive/2010/09/30/the-truth-about-value-types.aspx) –