![]() |
1
10
你需要 Marshal.SizeOf 编辑: 这 是 对于不安全的代码,sizeof()也是如此。 |
![]() |
2
12
如果你不介意它不够准确,出于比较的目的,你可以对对象进行序列化并进行测量(例如以字节为单位) 编辑(发帖后我一直在想) :因为对于值类型来说,它比sizeof稍微复杂一些,例如:引用类型可以引用其他对象等等…据我所知,没有一种精确而简单的方法可以做到这一点。.. |
![]() |
3
4
我最近有一个类似的问题,想知道C#中Object和LinkedListNode的大小。为了解决这个问题,我开发了一个 program 这将:
在我的电脑(64位)上,我得到了以下数据:
根据数据,分配数百万个对象的平均大小约为29.2字节。LinkedListNode对象大约是44.5字节。这些数据说明了两件事:
假设CLR开销和4字节对齐,我估计C#中的Object是28字节,LinkedListNode是44字节。 顺便说一句,Jon Skeet在我之前就有了上述方法的想法,并在 this answer 对于一个类似的问题。 |
![]() |
4
1
小心那个元帅。SizeOf用于不安全的代码。.. 我认为托管代码是不可能的,也许你可以解释你的问题,也许还有另一种方法可以解决它 |
![]() |
5
1
如果可以的话,将其序列化!
|
![]() |
6
1
|