c# - 值类型继承自 System.Object...为什么?

标签 c# object types

<分区>

Possible Duplicates:
Is everything in .NET an object?
How do ValueTypes derive from Object (ReferenceType) and still be ValueTypes?

你好, 我就是不明白。 System.Object 是(我认为)引用类型,但 .NET 中的所有数据类型都继承自它。值类型也是如此。我不明白 - 值类型在堆栈上有它的值,但它是从 Object 继承的? 希望任何人都可以帮助我理解

最佳答案

您是正确的,虽然 Object 是引用类型,但值类型确实隐式继承自它,如 msdn 的 Value Types 引用所述(根据引用资料,它们在技术上继承自 ValueType 类,而后者又继承自 Object。

C# 对此做了一个特例,因此值类型可以从 Object 的方法(如 ToString)和属性中获益。此外,通过这种方式,您可以像对待其他引用类型一样对待值类型——没有什么可以阻止您在 Object 数组中插入 int

关于c# - 值类型继承自 System.Object...为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4729094/

相关文章:

c# - HttpClient Head 请求参数始终为 null

css - 使图像替代文本在所有浏览器上看起来几乎相同

javascript - 在嵌套函数中使用 `this` 作为父函数

c# - 类型名称在哪里定义?

c# - MVC5 路由命名空间优先级

c# - 在数值中设置点而不是逗号

c# - SimpleInjector 在 .Net MVC 站点启动时抛出间歇性错误

java - 如何纠正这个简单的Java代码? [如何打印表观类型 = Object 且实际类型 = int (array) 的变量的所有元素?]

typescript - 在 typescript 中定义具有匹配对(如多米诺骨牌)的数组类型

javascript - 如何正确注释作为函数调用结果的导出?