c#如何获取对象的大小
2个回答
展开全部
C#提供了两个获取大小的方法:1.使用sizeof运算符。但sizeof只有对int,byte等预定义值类型有效。sizeof(C# 参考)
用于获取 值类型 的字节大小。例如,可以如下所示检索 int 类型的大小:
int intSize = sizeof(int);备注________________________________________
sizeof 运算符仅适用于值类型,而不适用于引用类型。
注意从C# 2.0 版开始,将 sizeof 应用于预定义类型不再要求使用不安全模式。不能重载 sizeof 运算符。由 sizeof 运算符返回的值是 int 类型。下表显示表示某些预定义类型大小的常数值。
表达式 结果
sizeof(sbyte) 1
sizeof(byte) 1
sizeof(short) 2
sizeof(ushort) 2
sizeof(int) 4
sizeof(uint) 4
sizeof(long) 8
sizeof(ulong) 8
sizeof(char) 2 (Unicode)
sizeof(float) 4
sizeof(double) 8
对于所有其他类型(包括 struct),sizeof 运算符只能在不安全代码块中使用。虽然可以使用 SizeOf 方法,但该方法返回的值和 sizeof 返回的值并不总是相同的。Marshal.SizeOf 在已封送处理类型后返回大小,而 sizeof 返回公共语言运行库分配的大小(包括任何空白)。2.使用System.Runtime.InteropServices.Marshal.SizeOf静态方法。此方法对任何值类型的实例有效。 3.对于class定义的自定义类型 目前应该怎么操作才能获取该类型或对象的大小呢?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询