C#托管堆對象實例包括內容剖析。本站提示廣大學習愛好者:(C#托管堆對象實例包括內容剖析)文章只能為提供參考,不一定能成為您想要的結果。以下是C#托管堆對象實例包括內容剖析正文
本文以實例情勢剖析了C#托管堆對象實例包括的內容,有助於進一步懂得C#法式設計中的托管對象。分享給年夜家供年夜家參考。詳細剖析以下:
平日來講,每一個托管堆上的對象實例除包括自己的值外,還包含:
① Type Object Ponter: 指向Type對象實例。假如是同類型的對象實例,就指向統一個Type對象實例。
② Sync Block Index:在多線程情形下用來掌握同步
以下實例所示:
namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Cow cow1 = new Cow(); cow1.mooCount = 1; Cow cow2 = new Cow(); cow2.mooCount = 2; Type t1 = cow1.GetType(); Type t2 = cow2.GetType(); Console.WriteLine(t1.FullName); Console.WriteLine(t2.FullName); } } public class Cow { public int mooCount; } }
運轉成果:
ConsoleApplication1.Cow
ConsoleApplication1.Cow
○ 挪用對象實例的GetType辦法,可以獲得到Type類型對象,這就是所謂的反射
○ 以上的cow1和cow2的類型都是Cow,所以這2個實例指向統一個Type對象
用圖形表現的話以下圖所示:
別的,當值類型挪用GetType辦法時,會在托管堆上創立box,並有Type Object Pinter。
願望本文所述對年夜家C#法式設計的進修有所贊助。