C#提供了兩個獲取大小的方法:
1.使用sizeof運算符。但sizeof只有對int,byte等預定義值類型有效。
2.使用System.Runtime.InteropServices.Marshal.SizeOf靜態方法。此方法對任何值類型的實例有效。
除此之外,引用類型的內存是分配在堆上面的,不管是C,C++還是C#,好像都只能在堆上面實例化對象,刪除對象。尤其是C#,連實例化/刪除對象都有人代勞了。
如果你在堆上有你需要的信息,并且要把這段信息寫入到磁盤等設備時,這時你需要對這個對象進行拆箱處理。這時你才獲取到你拆箱后的對象實例的大小。