永发信息网

一次性搞懂C#中的==,Equals和ReferenceEquals的区别

答案:1  悬赏:0  手机版
解决时间 2021-02-15 20:49
一次性搞懂C#中的==,Equals和ReferenceEquals的区别
最佳答案
百度一下吧,

==运算符:
引用类型:默认 ==运算符 是比较引用的地址即内存地址 FCL String 类型因为有字符串驻留机制: string A="a"; string B="a"; 返回为True.引用类型Equals方法和operator==具有相同的默认行为。

值类型:因为如果你没有为自定义值类型重载operator==的话,就不能写这样的代码“myStruct1 == myStruct2”,否则会得到一个编译错误,原因是值类型没有相等操作符重载的默认实现。

ReferenceEquals:
Object的静态方法。因此不能在继承类中重写该方法。原型是:public static bool ReferenceEquals(object objA, object objB);FCL已经帮我们实现。它就是比较引用指向的内存地址一样。判断值类型的时候需要装箱,肯定返回false.FCL String 类型因为有字符串驻留机制: string A="a"; string B="a"; 返回为True.
Equals: Object类有2个:一个为虚方法,一个为静态方法
public virtual bool Equals(object obj);
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
旭翔运输有限公司地址在什么地方,想过去办事
在社会学中,社会分为哪些阶层?
前卫路地址在什么地方,想过去办事
惊天地泣鬼神出处
某中药贮藏仓库在进行例行检查发现各类药材贮
2015年青山刚昌真的死了吗
老鸹石村怎么去啊,有知道地址的么
宝宝是用润肤露好还是润肤乳好
泌尿系统按顺序由哪些部分组成CA. 输尿管、肾
有没有街机三国sf
为什么我打开网页上面的字都很小啊,看着很累
向上的箭头用字符怎么打?
氮气有什么用途啊
星亚手机连锁如意店我想知道这个在什么地方
肉肉植物的叶子上有白芝麻一样的东西
推荐资讯
怎么把霸气的出现在前男友面前?
黄宅民工子弟学校在哪里啊,我有事要去这个地
什么是地表水?地表水能喝么,详情请看问题描
安丘市景芝镇启文村卫生所我想知道这个在什么
我的世界服务器全民禁足指令
1月30号我在手机轻松易贷上申请的贷款,怎么一
夏季双层遮阳网大棚,就是内外两个,外8米宽
【例外是什么意思】例外是什么意思
国美房产地址在什么地方,想过去办事
想当发明家,大学选什么专业
长葛市许昌重庆老火锅(后河店)我想知道这个在
1kmLGJ-240/35钢芯铝绞线 理论重量是多少
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?