c# - C# 如何检查结构所消耗的字节数?

  显示原文与译文双语对照的内容
118 1

如果我创建的结构比较大,我如何计算它在内存中占用的字节?

我们可以以手动执行,但如果结构足够大,我们怎么做?是否存在代码块或者应用程序?

时间:原作者:0个回答

82 0

你可以使用 sizeof 操作符或者 sizeof 函数。
这些选项之间存在一些差异,请参见参考链接以获取更多信息。

无论如何,使用该函数的一个好方法是使用泛型方法或者扩展方法,如下所示:

static class Test
{
 static void Main()
 {
//This will return the memory usage size for type Int32:
 int size = SizeOf<Int32>();
//This will return the memory usage size of the variable 'size':
//Both lines are basically equal, the first one makes use of ex. methods
 size = size.GetSize();
 size = GetSize(size);
 }
 public static int SizeOf<T>()
 {
 return System.Runtime.InteropServices.Marshal.SizeOf(typeof(T));
 }
 public static int GetSize(this object obj)
 {
 return System.Runtime.InteropServices.Marshal.SizeOf(obj);
 }
}
原作者:
...