首页 > 代码库 > C#基础关键字篇-sizeof 运算符

C#基础关键字篇-sizeof 运算符

  sizeof 运算符返回由给定类型的变量占用的字节数。被指定为 sizeof 的操作数的类型必须为非托管类型。

  从 C# 2.0 版开始,将 sizeof 应用于内置类型不再要求使用 unsafe 模式。

不能重载 sizeof 运算符。 sizeof 运算符的返回值是 int 类型。 下表列出了一些常量值,这些值对应于以某些内置类型为操作数的 sizeof 表达式。

  对于所有其他类型(包括结构),sizeof 运算符只能在不安全代码块中使用,sizeof 运算符的结果是由实现定义的,并且属于值而不是常量

当 sizeof应用于具有结构类型的操作数时,结果是该类型变量所占的字节总数(包括所有填充位在内)。

  尽管可以使用 Marshal.SizeOf 方法,但此方法返回的值并不总是与 sizeof 返回的值相同。

Marshal.SizeOf 在封送类型后返回大小,而 sizeof 返回公共语言运行时分配的大小(包括所有填充)。

 

C#基础关键字篇-sizeof 运算符