【唐老狮】C#——万物之父中的方法

知识点回顾

万物之父

关键字

object

概念

object是所有类型的基类

它是一个类(引用类型)

作用

可以利用里氏替换原则

用object装所有对象

可以用来表示不确定类型

作为函数参数类型

 

选中输入的object

按F12或者右键转到定义

 

    ​    ​我们可以看到作为万物之父的object本质上就是一个Object类,里面有2个静态方法,3个虚方法,2个普通成员方法。其中对于我们来说,常被我们重写和使用的就是ToString方法,我们来讲解一下各方法的主要作用吧。

【静态方法Equals】

 

    ​    ​该方法会把最终的判断权,交给左侧对象的Equals方法,不管值类型引用类型都会按照左侧对象Equals方法的规则来进行比较。

【静态方法ReferenceEquals】

 

    ​    ​该方法是比较两个对象是否是相同的引用,主要是用来比较引用类型的对象。值类型对象返回值始终是false。

 

【虚方法Equals】

 

    ​    ​该方法的默认实现还是比较两者是否为同一个引用,即相当于ReferenceEquals。但是微软在所有值类型的基类System.ValueType中重写了该方法,用来比较值相等。

    ​    ​我们也可以重写该方法,定义自己的比较相等的规则。

【虚方法GetHashCode】

 

    ​    ​该方法是获取对象的哈希码(一种通过算法算出的,表示对象的唯一编码,不同对象哈希码有可能一样,具体值根据哈希算法决定),我们可以通过重写该函数来自己定义对象的哈希码算法,正常情况下,我们使用的较少。

【虚方法ToString】

 

    ​    ​该方法用于返回当前对象代表的字符串,我们可以重写它定义我们自己的对象转字符串规则,该方法非常常用。当我们调用打印方法时,默认使用的就是对象的ToString方法后打印出来的内容。

 

【普通方法GetType】

 

    ​    ​该方法在反射相关知识点中是非常重要的方法,之后我们会具体的讲解这里返回的Type类型。该方法的主要作用就是获取对象运行时的类型Type,通过Type结合反射相关知识点可以做很多关于对象的操作。目前,大家了解即可。

【普通方法MemberwiseClone】

 

    ​    ​该方法用于获取对象的浅拷贝对象,口语化的意思就是会返回一个新的对象,但是新对象中的引用变量会和老对象中一致。

 

    ​    ​通过以上代码,你应该感受到了浅表克隆的意思。其实就是克隆出去的对象是个新对象了,但是当改变新对象中的引用对象上,还是改变的原对象的内容。

 

    ​    ​目前对于大家来说,该方法了解即可,之后应用不多。

【总结】
 

万物之父

Object类中的方法

静态方法Equals

使用左侧对象的Equals方法

判断两对象是否相等

值引用都能用

静态方法ReferenceEquals

针对引用对象的相当判断

值类型对象始终返回false

虚方法Equals

可利用它自定义相等判断规则

虚方法GetHashCode

可利用它自定义哈希算法规则

虚方法ToString

可利用它自定义对象字符串

打印时转换规则

普通方法GetType

运行时获取对象类型

属于反射知识点一部分

普通方法MemberwiseClone

获取对象的浅拷贝

最常用

重写ToString


关注唐老狮获取更多干货内容

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值