所有其他的类都派生自一个基类,这意味着有一个单根的层次结构(single rooted hierarchy).这种方式的一个主要好处是:此系统中的所有类型共享一组最基本的功能.
System.Object类型的公共方法
bool Equals 在运行时比较两个对象引用,以判断它们是否是相同的对象.如果两个变量引用同一个对象,那么返回值是true.对于值类型,如果两个类型相同而且具有相同的值,那么这个方法返回true
int GetHashCode 获取为一个对象指定的散列码.当类的实现者希望将对象的散列码放在散列表中以便提高性能时,需要使用散列函数
Type GetType 由反射方法使用以获取给定对象的类型信息
string ToString 在默认情况下用于获取对象的名称.派生类可以重定义这个方法,以便返回对象的更加用户友好的字符串表示.
System.Object受保护方法
void Finalize 运行时环境调用这个方法,以便在垃圾收集之前进行清理工作.注意,对这个方法的调用是可选的,因此,不要把必须运行的代码放在这个方法中.这个规则称为"确定性收尾"(deterministic finalization).
Object 代表对象的浅副本(shallow copy),即这个对象副本包含对其他对象的引用,但是不包含被引用对象的副本.
如果需要类支持深副本(deep copy,其中包含被引用对象的副本),那么必须实现ICloneable接口,并且手工进行克隆(即亲自进行复制)
装箱是将值类型转换为引用类型的过程.相反的过程(即,将引用类型转换为值类型)被称为拆箱(unbox).