C# 中的实例大小
有没有办法获取 C# 中实例(或我不介意的类)的大小?
例如,我知道在 Delphi 中,每个对象都有一个指向类的虚拟方法表的指针,它实现的每个接口的指针,当然还有类的字段。
根据这个基本对象大小在x86中是12字节,但是,有没有“规则”以正确调整大小?
Is there any way to get the size of an instance (or the class I don't mind) in C#?
For example, I know in Delphi every object has a pointer to the Virtual Method Table of the class, a pointer for each interface it implements plus of course the fields of the class.
According to this basic object size is 12 bytes in x86, but, is there any "rule" to properly size it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这取决于您想做什么。 如果您有兴趣了解出于与本机代码互操作的目的,类型/对象有多大,可以使用 Marshal.SizeOf()。 除此之外,没有确定的方法来测量物体的大小。
It depends on what you are looking to do. If you are interested in finding out how big a type / object will be for the purpose of interop with native code, you can use Marshal.SizeOf(). Other than that, there is no definitive way to measure an object's size.