小编Pra*_*thi的帖子

sizeof运算符在C#中给出了结构的额外大小

我试图使用sizeof运算符检查所有变量(值类型)的大小.我通过一个走了MSDN文章,里面写到那

对于所有其他类型(包括结构),sizeof运算符只能用于不安全的代码块

并且结构不应包含任何引用类型的字段或属性

为此,我在项目属性中启用了不安全的编译,并创建了如下结构 -

struct EmployeeStruct
{
    int empId;
    long salary;       
}
Run Code Online (Sandbox Code Playgroud)

并按如下方式使用 -

unsafe
{
   size = sizeof(EmployeeStruct);
}

Console.WriteLine("Size of type in bytes is: {0}", size);
Run Code Online (Sandbox Code Playgroud)

在这里我得到输出,因为字体大小是16:但是通过查看结构它应该是12(4表示int,8表示长).有人可以帮我理解为什么我得到4字节的额外大小?

c# struct sizeof

5
推荐指数
1
解决办法
660
查看次数

标签 统计

c# ×1

sizeof ×1

struct ×1