目录
1.object中的静态方法
①静态方法Equals判断两个对象是否相等。
最终的判断权交给左侧对象的Equals方法,不论值类型还是引用类型都是按照左侧对象Equals方法的规则来进行比较。
Console.WriteLine(Object.Equals(1,1));
②静态方法ReferenceEquals
比较两个对象是否是相同的引用,主要是用来比较引用类型的对象。值类型的对象返回始终是false。
比较引用类型时两种都是比较他们的房间是否相同,object是所有类型的基类,所以可以省略不写。
左侧方法指的是虚方法,微软默认替我们引用了虚方法所以Equals可以进行比较。
2.object中的成员方法
普通方法GetType,该方法的主要作用就是获取对象运行时的类型Type,通过Type结合发射相关知识点可以做很多关于对象的操作。
Test t=new Test();
Type ty=t.GetType();
普通方法MemberwiseClone
该方法用于获取对象的浅拷贝对象,口语化的意思就是会返回一个新对象。
class Test
{
public int i=1;
public Test t2=new Test2();
public Test Clone()
{
return MemberwiseClone() as Test;
}
}
浅拷贝克隆的不干净,引用类型与克隆体指向一个地址,所以,当改变克隆体值时,值类型不改变但是引用类型会改变。
3.object中的虚方法
①虚方法Equals
我们可以重写该方法,定义自己比较相等的规则。
②虚方法GetHashCode
该方法是获取对象的哈希码。
③虚方法ToString
该方法用于返回当前对象代表的字符串,我们可以重写它定义我们自己的对象转字符串规则。
//默认打印命名空间和类名的方法
Random r=new Random();
Console.WriteLine(r);