更新:2007 年 11 月
用于获取
复制代码 | |
---|---|
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 运算符只能在不安全代码块中使用。虽然可以使用
示例
C# | 复制代码 |
---|---|
class MainClass { // unsafe not required for primitive types 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)); } } /* Output: The size of short is 2. The size of int is 4. The size of long is 8. */ |
C# 语言规范
有关更多信息,请参见 C# 语言规范中的以下各章节:
18.5.8 sizeof 运算符