C# 中的实例大小

发布于 2024-07-20 07:38:21 字数 241 浏览 6 评论 0原文

有没有办法获取 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

请远离我 2024-07-27 07:38:21

这取决于您想做什么。 如果您有兴趣了解出于与本机代码互操作的目的,类型/对象有多大,可以使用 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文