博客
关于我
运算符和类型强制转换(二)
阅读量:269 次
发布时间:2019-03-01

本文共 800 字,大约阅读时间需要 2 分钟。

1、比较对象的相等性

1) 比较引用类型的相等性

(1) ReferenceEquals()方法

ReferenceEquals()是一个静态方法,测试两个引用是否引用类的同一个实例,特别是两个引用是否包含内存中的相同地址。作为静态方法,它不能重写,所以System.Object的实现保持不变。如果提供的两个引用同一个对象实例,则ReferenceEquals()总是返回true;否则就返回false,但是它认为null等于null;

SomeClass x,y;x=new SomeClass();y=new SomeClass();bool B1=ReferenceEquals(null,null);  //returns truebool B2=ReferenceEquals(null,x);     //returns falsebool B3=ReferenceEquals(x,y);        //returns false because x and y                                     //point to different objects

(2)虚拟的Equals()方法

Equals()静态版本与其虚拟实例版本的作用相同,其区别是静态版本带来两个参数,并对他们进行相等性比较。这个方法可以出来两个对象中有一个是null的情况,若一个对象可能是null,这个方法就可以抛出异常,提供额外的保护。静态重载版本首先要检查传递给它的引用是否为null。如果他们都是null,就返回true(因为null与null相等)。如果只有一个引用是null它就返回false。如果两个引用实际上引用了某个对象,它就调用Equals()的虚拟实例版本。相当于重写Equals()的实例版本时,其效果相当于也重写静态版本。

参考:

C#高级编程

 

 

转载地址:http://zuco.baihongyu.com/

你可能感兴趣的文章
Nacos原理
查看>>
Nacos发布0.5.0版本,轻松玩转动态 DNS 服务
查看>>
Nacos启动异常
查看>>
Nacos命名空间配置_每个人用各自自己的命名空间---SpringCloud Alibaba_若依微服务框架改造---工作笔记001
查看>>
Nacos和Zookeeper对比
查看>>
Nacos在双击startup.cmd启动时提示:Unable to start embedded Tomcat
查看>>
Nacos基础版 从入门到精通
查看>>
Nacos如何实现Raft算法与Raft协议原理详解
查看>>
Nacos安装教程(非常详细)从零基础入门到精通,看完这一篇就够了
查看>>
Nacos实战攻略:从入门到精通,全面掌握服务治理与配置管理!(上)
查看>>
Nacos实战攻略:从入门到精通,全面掌握服务治理与配置管理!(下)
查看>>
Nacos心跳机制实现快速上下线
查看>>
nacos报错com.alibaba.nacos.shaded.io.grpc.StatusRuntimeException: UNAVAILABLE: io exception
查看>>
nacos服务提供和发现及客户端负载均衡配置
查看>>
Nacos服务注册与发现demo
查看>>
Nacos服务注册与发现的2种实现方法!
查看>>
nacos服务注册和发现原理简单实现案例
查看>>
Nacos服务注册总流程(源码分析)
查看>>
nacos服务注册流程
查看>>
Nacos服务部署安装
查看>>