c# - 如何在 C# 中获取对象(类、结构)的大小

标签 c# .net c#-4.0

我试图通过计算一个对象的大小(串行方式中的一个)来执行一个反常的内存技巧,这样我就可以在内存流中向前跳到下一个。

这是一个托管类。我看到过对 sizeof 和 Mashal.SizeOf 的引用,但它们出现在对非托管类型或值类型的引用中。

那么,有没有人知道在运行时执行此操作的方法,或者我应该分解计算器并在代码中手动执行此操作?

最佳答案

如果你不使用不安全的编码(marshal),你就无法获得对象的大小
您可以使用如下工具:

CLR 分析器
VSTS 探查器
.NET 内存分析器

关于c# - 如何在 C# 中获取对象(类、结构)的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8876833/

相关文章:

c# - 在 C# 中定义 Windows API 接口(interface)时,是否必须定义所有成员?我可以只定义我将要使用的方法吗?

c# - 在具有定义概率的多个选项之间进行选择

.net - 针对内部维护单例状态的第三方库进行自动测试

c# - 尝试实现 LeftJoin 扩展方法以与 EF Core 2.0 一起使用

c# - 在 ItemsControl 内的 DataTemplate 内的 Button 的 WPF Databinding ContextMenu

c# - Winforms Bindingsource Datamember 属性界面什么都不显示

c# - 调试时,如何在枚举中的任意位置启动 foreach 循环?

c#-4.0 - WatiN:打开 Internet Explorer 时出错

delphi - 将 Delphi TPoint 转换为 C# Point

javascript - ASP.NET 滚动条不会在不可见的行选择上向下移动