为什么 .Net 中的每个类都派生自 System.Object?有什么好处?
最佳答案
我向您提出相反的问题:为什么不呢?如果不是某些共同的祖先,您将如何引用“任何类型的某些对象”?有时这是需要的。不过,实际上,System.Object
类确实有一些通常对任何类型都有用的有用方法:
Equals
帮助测试相等性GetHashCode
有助于提高集合的性能GetType
- 所有对象都有某种类型Finalize
以支持 CLR finalization
因为这些东西对所有类型都是通用的,所以您可以拥有对多种类型智能操作的代码(甚至在泛型之前)。
话虽如此,但在 C# 4.0 中,他们引入了 dynamic
,这实际上是它自己的类层次结构。它完全绕过静态类型检查,并且不一定派生自 object
。 MSDN 有一个 good article关于它,和Chris Burrows' blog series也很有趣。
关于c# - 为什么 .Net 中的每个类都派生自 System.Object?有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3545322/