【问题标题】:Instance Size in C#C# 中的实例大小
【发布时间】:2010-10-26 04:47:42
【问题描述】:

有没有办法在 C# 中获取实例(或我不介意的类)的大小?

例如,我知道在 Delphi 中每个对象都有一个指向类的虚拟方法表的指针,一个指向它实现的每个接口的指针,当然还有类的字段。

根据this,x86 中的基本对象大小是 12 字节,但是,是否有任何“规则”来正确调整它的大小?

【问题讨论】:

  • 只是好奇:为什么?你会用这个做什么?
  • 所以没有办法“理论上”计算它,只用 GC 测量?
  • Joel,我需要创建大量对象来模拟内存中的知识库,并且我想估计我将要处理的大小。我还想衡量在用于表示数据库“表”的类中实现“to many”接口的影响。
  • 所以创建大量的,然后看看你的程序使用了多少内存。如果可能,请始终测量您感兴趣的实际数量;不要测量完全不同的东西,然后尝试猜测与您真正关心的人物之间的关系。

标签: c# .net optimization memory size


【解决方案1】:

这取决于您要做什么。如果您有兴趣了解类型/对象的大小以便与本机代码互操作,您可以使用 Marshal.SizeOf()。除此之外,没有确定的方法来测量物体的大小。

【讨论】:

    猜你喜欢
    • 2019-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多