问题 The MSDN clearly states For all other types, including structs, the sizeof operator can only be used in unsafe code blocks. The C# Language Specification is even more precise : The order in which members are packed into a struct is unspecified. For alignment purposes, there may be unnamed padding at the beginning of a struct, within a struct, and at the end of the struct. The contents of the bits used as padding are indeterminate. When applied to an operand that has struct type, the result is