sizeof 运算符(C# 参考):转运符
免费测运势 免费批八字:
师父微信: master8299
sizeof 运算符返回给定类型的变量所占用的字节数转运符。 sizeof 运算符的参数必须是一个 sizeof 的名称,或是一个限定为非托管类型的类型参数。
sizeof 运算符需要 sizeof 上下文转运符。但下表中的表达式在编译时被计算为相应的常数值,并不需要“不安全”的上下文:
Expression
常量值
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
sizeof(float)
4
sizeof(double)
8
sizeof(decimal)
16
sizeof(bool)
1
下列情况也不需要使用不安全的上下文: sizeof 运算符的操作数是 sizeof 类型的名称转运符。
下面的示例演示 sizeof 运算符的用法:
usingSystem;
publicstructPoint {publicPoint( bytetag, doublex, doubley ) = (Tag, X, Y) = (tag, x, y);
publicbyteTag { get; } publicdoubleX { get; } publicdoubleY { get; } }
publicclassSizeOfOperator{publicstaticvoidMain( ) {Console.WriteLine( sizeof( byte)); // output: 1Console.WriteLine( sizeof( double)); // output: 8
DisplaySizeOfPoint; // output: Size of Point is 24DisplaySizeOf decimal; // output: Size of System.Decimal is 16
unsafe{Console.WriteLine( sizeof(Point)); // output: 8}}
staticunsafevoidDisplaySizeOfT whereT : unmanaged {Console.WriteLine( $"Size of { typeof(T)} is { sizeof(T)} " ); }}
sizeof 运算符返回公共语言运行时将在托管内存中分配的字节数转运符。对于结构类型,该值包括了填充(如有),如前例所示。 sizeof 运算符的结果可能异于 Marshal.SizeOf 方法的结果,该方法返回某个类型在 sizeof 内存中的大小。
C# 语言规范
有关详细信息,请参阅 C# 语言规范的 sizeof 运算符部分转运符。
本文链接:https://www.daojiaowz.com/index.php/post/40291.html
转载声明:本站发布文章及版权归原作者所有,转载本站文章请注明文章来源!
