“每日一道面试题”.Net中所有类的基类是以及包含的方法

闲来无事,每日一贴。水平有限,大牛勿喷。

.Net中所有内建类型的基类是System.Object毋庸置疑

Puclic Class A{}和 Public Class A:System.Object{}是等效的

System.Object包含了Finalize在内的8个方法。

公共实例方法:  Virtual bool Equals(object obj) Virtual bool GetHashCode()  Type GetType()  Virtual string ToString()

公共静态方法: bool Equals(object obj1,object obj2)   bool ReferenceEquals(object obj1,object obj2)

受保护的实例方法: object MemberwiseClone()  Finalize

简单说一下 实例Equals方法  它实现的是当前对象与参数对象的引用是否一致,如果一致为True,否则为False。在System.Object中,它实现的是this引用与参数引用是否引用了同一对象,实现的是引用的比较。在程序设计中,我们通常要实现的是内容的比较,所以很多时候需要重写该方法。System.ValueType作为所有值类型的基类,对此方法作了重写,值类型用此方法进行比较的时候实现的是内容的比较 。

GetHashCode()方法:返回当前对象的一个哈希码。

ReferenceEquals判断两个引用是否引用同一个类的实例。

Memberwiseclone实现了对象的浅表复制  Finalize作为.NET中的析构方法,他在对象被回收的特殊时段执行。GetType方法返回当前对象类型的一个实例,他的实现依赖于.net中反射机制。

原文地址:https://www.cnblogs.com/ZyCoder/p/6753158.html