你的位置:首页 > 软件开发 > ASP.net > C#中==、Equals、ReferenceEquals的区别

C#中==、Equals、ReferenceEquals的区别

发布时间:2016-11-28 13:00:19
原文链接:http://www.studyofnet.com/news/1188.html本文导读:C#中Equals , == , ReferenceEquals都可以用于判断两个对象的个体是不是相等,对于相同的基本值类型,==和Equals()比较结果是一样的;由于Refer ...

原文链接:http://www.studyofnet.com/news/1188.html

本文导读:

C#中Equals , == , ReferenceEquals都可以用于判断两个对象的个体是不是相等,对于相同的基本值类型,==和Equals()比较结果是一样的;由于ReferenceEquals()是判断两个对象的引用是否相等,对于值类型,因为每次判断前都必须进行装箱操作,也就是每次都生成了一个临时的object,因而永远返回false。

一、== 运算符

1、静态相等符号,对应存在的!=,这个符号是一个可以重载的二元操作符,可以用于比较两个对象是否相等。

2、它会根据需要自动进行必要的类型转换,并根据两个对象的值是否相等返回true或者false。

3、对于引用对象比较其引用(get='_blank'>string引用类型除外,string是比较值)

4、对于值类型比较其值

5、某些内置的引用类型重载了==符号,例如string就重载==,使其比较的不是两个字符串的引用,而是比较的两个字符串字面量是否相等。

 

6、例如:

 

1 int i = 5;2 int j = 5;3 Console.WriteLine(i == j);//值类型比较代数值 输出True4 5 int m = 6;6 double n = 6.0;7 Console.WriteLine(m == n);//类型自动转换并比较数值 输出True

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:C#中==、Equals、ReferenceEquals的区别

关键词:C#

C#
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录