欢迎光临南京典乐信息科技有限公司
24小时:400-025-1949
繁體版
手机版
公司新闻
行业新闻
当前位置:首页 » 新闻中心 » 公司新闻

==确实很直观?

发表日期:2017-11-23 17:37:30文章编辑:浏览次数:191 标签:公司新闻    

在对象化programming的这个world里,基于以上原因,可以看作语法sweet吧,本来不应该有==,equals是标准.但==确实很方便,更直观。那么我们因为便利性而使用==,,==最好理解为:以比较的类型为前提,决定比较的方式。即,值类型比较值,对象类型比较引用看看msdn对于==和equ ...

在对象化programming的这个world里,基于以上原因,可以看作语法sweet吧,本来不应该有==equals是标准.==确实很方便,更直观。那么我们因为便利性而使用==,,==最好理解为:以比较的类型为前提,决定比较的方式。即,值类型比较值,对象类型比较引用

看看msdn对于 == equals的解释:
== 
的解释:
对于预定义的值类型,如果操作数的值相等,则相等运算符 (==) 返回 true,否则返回 false 对于 string 以外的引用类型,如果两个操作数引用同一个对象,则 == 返回 true 对于 string 类型,== 比较字符串的值。
equals
的解释:
如果当前实例是引用类型,Equals(Object)方法测试引用相等性,并调用Equals(Object)方法等效于调用ReferenceEquals方法。 引用相等性意味着进行比较的对象变量引用同一个对象
如果当前实例是值类型,Equals(Object)方法测试值是否相等

 对于引用类型来说,
等号(==)比较的是两个变量的引用” 是否一样,即是引用的地址是否相同。
而对于equals来说仍然比较的是变量的  ”内容” 是否一样。
那么object a1=15,以及 object =15. 对于内容层面来说,两者完全相同,返回true,这样就说的通了!

Java 不允许重载操作符,所以 == 符号的行为是固定的。
C# 
 == 符号的行为你是可以通过重载操作符去修改的,这提供了更灵活的编程方式,但增加了代码的理解难度,也是 Java 不允许重载操作符的原因。

我相信c#语言的设计,本身遵循的是一种极简的的逻辑在里边,以此为基础去理解各种变化就可以了,如果累举各种细节情况来分析,反而把自己绕进去了。
这个极简的逻辑,我的观点,补充一下上面说过的:
1.
在对象化编程的世界里,本来不应该有==equals比较值,refrenceequal比较引用,本来从逻辑上来说,就足够了,没==什么事。
2.
==确实很方便,更直观。那么我们因为便利性而使用==,可以看作语法糖,c#重写了==,使程序员在equalsrefrenceequals之外,有一个更便捷的方式。但使用==的理念必须清晰,就如3所说。
3.
基于以上原因,==最好理解为:以比较的类型为前提,决定比较的方式。即,值类型比较值,对象类型比较引用

以这种极简的观念出发,赋予两个object对象,因为object是对象基类,值被包装过了进行的对比,所以是引用比较,地址也不同。

专业服务:上海高端建站,上海网站制作,上海网站设计,上海网站制作公司

咨询电话:400-025-1949(7*24小时在线服务)

咨询QQ:260193150

公司网址:www.icanpk.com

本文地址:http://www.f5f6.com/news/detail_198.html

相关新闻

两Q友非法入侵他人网站推广赌博公司 上海医药官网等中招

两人利用木马信息侵入上海医药、世纪华联等单位官网串改链接帮助…

日期:2018-07-28 浏览次数:298

3月8日后上海长江二桥车道封闭维护 为期22天

为保障路桥结构和交通通行安全,经市政府批准,上海长江第二大桥…

日期:2018-03-08 浏览次数:281

怎样解决企业网站没有客户咨询的问题?

我们都知道如今是互联网的时代,传统的线下业务已经满足不了企业…

日期:2018-03-06 浏览次数:235

房地产税还有2年到达战场,3千多上海人涌向了河西...

关注两会3月4日的人大新闻发布会上,针对房地产税,发言人张业…

日期:2018-03-06 浏览次数:133

上海仙林汽配城内一物流公司卷款跑路

3月5日,有市民反映,上海仙林汽配城内的一家物流公司突然跑路…

日期:2018-03-06 浏览次数:106

关于我们
技术支持
联系我们
南京典乐科技
客服电话:400-025-1949 (工作日9:00~18:00)
项目经理:138-519-41123
咨询 Q Q:260193150
公司地址:上海中华路420号江苏省科技中心5层
客服QQ
获取报价
联系电话
400-025-1949
返回顶部