我对 C# 参考中的一些语句有点困惑。
Object
是引用类型Struct
是值类型Struct
派生自对象类
在这种情况下,为什么 struct 或任何其他值类型也不应该是引用类型。
如果我的任何假设是错误的,请纠正我。
这是因为 Struct 是一种特殊情况,CLR 以特殊方式处理它。
因为它是规范的一部分。因此,编译器团队正在强制执行此操作。我相信有一篇文章谈到这是一个实现细节,但目前找不到。
您可能还想看看Struct/Heap Storage question。它可能有助于清除一些事情。