博客
关于我
运算符和类型强制转换(二)
阅读量: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/

你可能感兴趣的文章
Mysql中怎样使用update更新某列的数据减去指定值
查看>>
Mysql中怎样设置指定ip远程访问连接
查看>>
mysql中数据表的基本操作很难嘛,由这个实验来带你从头走一遍
查看>>
Mysql中文乱码问题完美解决方案
查看>>
mysql中的 +号 和 CONCAT(str1,str2,...)
查看>>
Mysql中的 IFNULL 函数的详解
查看>>
mysql中的collate关键字是什么意思?
查看>>
MySql中的concat()相关函数
查看>>
mysql中的concat函数,concat_ws函数,concat_group函数之间的区别
查看>>
MySQL中的count函数
查看>>
MySQL中的DB、DBMS、SQL
查看>>
MySQL中的DECIMAL类型:MYSQL_TYPE_DECIMAL与MYSQL_TYPE_NEWDECIMAL详解
查看>>
MySQL中的GROUP_CONCAT()函数详解与实战应用
查看>>
MySQL中的IO问题分析与优化
查看>>
MySQL中的ON DUPLICATE KEY UPDATE详解与应用
查看>>
mysql中的rbs,SharePoint RBS:即使启用了RBS,内容数据库也在不断增长
查看>>
mysql中的undo log、redo log 、binlog大致概要
查看>>
Mysql中的using
查看>>
MySQL中的关键字深入比较:UNION vs UNION ALL
查看>>
mysql中的四大运算符种类汇总20多项,用了三天三夜来整理的,还不赶快收藏
查看>>