永发信息网

C#中如何获取对象实例大小?

答案:2  悬赏:80  手机版
解决时间 2021-03-01 02:38
想获取对象实例的大小,然后申请相应大小的空间。此对象为任意类型,应该如何做?
最佳答案
有点异想天开了。
C#提供了两个获取大小的方法:
1.使用sizeof运算符。但sizeof只有对int,byte等预定义值类型有效。
2.使用System.Runtime.InteropServices.Marshal.SizeOf静态方法。此方法对任何值类型的实例有效。
除此之外,引用类型的内存是分配在堆上面的,不管是C,C++还是C#,好像都只能在堆上面实例化对象,删除对象。尤其是C#,连实例化/删除对象都有人代劳了。

如果你在堆上有你需要的信息,并且要把这段信息写入到磁盘等设备时,这时你需要对这个对象进行拆箱处理。这时你才获取到你拆箱后的对象实例的大小。
全部回答
c#内存由虚拟机分配,你要自己指定内存么?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
全州县兴泰评估事务所怎么去啊,有知道地址的
用三条丝带捆扎一个盒子,第一条丝带长235cm,
百合花超市地址有知道的么?有点事想过去
新桑塔纳车接来倒档不好挂是怎么回事,倒档齿
城西卫生院口腔诊室在什么地方啊,我要过去处
墨子十大主张的墨子十大主张的具体内容
黑车太多,请注意
甲午中日战争时,日本国内知识界的一般看法是
淋浴器打不然火是怎么回事
老表烧菜馆地址在什么地方,想过去办事
惠州市阅粮畜牧场工会委员会地址在哪,我要去
microsoft office 2013能不能操作建行填单软
这一首诗被誉为“宗教改革的战歌”:上帝是我
(早早的)的英文怎么说
王店美的专卖店我想知道这个在什么地方
推荐资讯
吉祥巷在什么地方啊,我要过去处理事情
新余学院-图书馆地址在哪,我要去那里办事,
在烧杯A中装入20毫升蒸馏水,滴入2~3滴酚酞试
为什么我安装了microsoft data access compon
耐克穿35.5码,阿迪达斯应该穿多少码?
喊麦最重要是话筒还是声卡
白酒都有什么牌子的?
com.android.sr已停止,该怎么处理?刷机也不
走107国道长沙到耒阳市有多少公里
北胡油房这个地址在什么地方,我要处理点事
龙泉南路/S343(路口)地址在哪,我要去那里办
可选择做成散剂的药物是A.易吸湿或氧化变质的
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?