具有ToString(),GetHashCode(),GetType等方法的Object Type背后的原因是什么?

sve*_*rap 1 .net c#

我有一个可能看起来很傻的问题.在基础对象类型上定义ToStrin(),GetHashCode(),GetType()等方法背后是否有任何特定原因.这些方法是否由.Net框架内部用于任何目的.只是好奇地知道这个设计背后的想法.

谢谢,sveerap

Ree*_*sey 5

这些方法被认为是所有对象所需的最低要求.通过将它们引入System.Object类中,它们可用于.NET中的所有对象.

每个都有一个目的:

  • EqualsReferenceEquals用于等式检查
  • GetHashCode 允许在散列集合中使用对象
  • GetType 反思是必要的
  • ToString 允许所有对象(无论何种类型)以字符串形式表示,这非常有用
  • Finalize 允许垃圾收集器正确处理资源
  • MemberwiseClone 允许生成对象的浅拷贝