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

sizeof(bool)

1

对于所有其他类型(包括 struct),sizeof 运算符只能在不安全代码块中使用。虽然可以使用 SizeOf 方法,但该方法返回的值和 sizeof 返回的值并不总是相同的。Marshal.SizeOf 在已封送处理类型后返回大小,而 sizeof 返回公共语言运行库分配的大小(包括任何空白)。

示例

// cs_operator_sizeof.cs
// compile with: /unsafe
using System;
class MainClass
{
    unsafe static void Main()
    {
        Console.WriteLine("The size of short is {0}.", sizeof(short));
        Console.WriteLine("The size of int is {0}.", sizeof(int));
        Console.WriteLine("The size of long is {0}.", sizeof(long));
    }
}

输出

The size of short is 2.
The size of int is 4.
The size of long is 8.

C# 语言规范

有关更多信息,请参见 C# 语言规范中的以下各章节:

  • 18.5.8 sizeof 运算符

请参见

参考

C# 关键字
运算符关键字(C# 参考)

概念

C# 编程指南

其他资源

C# 参考