在.NET中,所有内建类型的基类是System.Object。而System.Object类中到底包含哪些方法是面试中常考到的题目。System.Object包含了Finalize在内的8个方法,其中有3个虚方法:Equals、GetHashCode和ToString方法。在设计类型时,当需要对类型对象进行内容比较时,可以考虑重写Equals方法,仅在类型将被用作容器的键值时考虑重写GetHashCode方法,而大多数的类型都应该考虑重写ToString方法。下面列出了System.Object的方法:
公共实例方法 | 简要说明 |
Virtual bool Equals(object obj) | 确定两个对象是否相等,相等则返回true,不相等则返回false |
Virtual bool GetHashCode() | 返回this对象的一个哈希码 |
Type GetType() |
返回当前对象的类型 |
Virtual string ToString() | 返回一个可以代表当前对象的字符串,在System.Object中该方法将返回当前对象类型的完整名称 |
公共静态方法 | 简要说明 |
bool Equals(object objA,object objB) | 确定两个对象是否相等,相等则返回true,不相等则返回false |
bool ReferenceEquals(object objA,object objB) | 比较两个对象的引用是否相等,相等则返回true,不相等则返回false |
受保护实例方法 | 简要说明 |
object MemberwiseClone() | 浅复制当前对象实例,并返回复制对象的引用 |
Finalize | .NET析构方法 |