C#中ReferenceEquals和Equals的区别
ReferenceEquals()判断两个字符串是否指向相同的内存地址;(判断引用)
Equals,先判断两个字符串有相同的内存位置,是则两个字符串相等;否则逐字符比较两个字符串,判断是否相等(先判断引用,在判断值是否相等)
下面举一个例子看一下:
view plaincopy to clipboardprint?
string peom1 = "Kubla Khan";
string peom2 = "Kubla Khan";
string peom3 = String.Copy(peom2);
string peom4 = "kubla khan";
//ReferenceEquals()判断两个字符串是否指向相同的内存地址
Console.WriteLine("peom1 == peom2:"+(peom1 == peom2));//True
Console.WriteLine("peom1 == peom3:" + (peom1 == peom3));//True
Console.WriteLine("ReferenceEquals(peom1,peom3):" + ReferenceEquals(peom1, peom3));//False
//Equals,先判断两个字符串有相同的内存位置,则两个字符串相等;否则逐字符比较两个字符串,判断是否相等
Console.WriteLine("Equal(peom1,peom3):" +String.Equals(peom1, peom2));//true
Console.WriteLine("Equal(peom1,peom3):" + String.Equals(peom1, peom3));//true
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/licl19870605/archive/2009/10/15/4676881.aspx
C#中ReferenceEquals和Equals的区别的更多相关文章
- java中的==和equals的区别
关于JAVA中的==和equals函数的区别 今天在研读Thinking in java 时注意到==和equals的区别,于是就通过查看JDK_API才读懂了他们的区别,于是将心得分享一下,望批评指 ...
- java中hashcode和equals的区别和联系
HashSet和HashMap一直都是JDK中最常用的两个类,HashSet要求不能存储相同的对象,HashMap要求不能存储相同的键. 那么Java运行时环境是如何判断HashSet中相同对象.Ha ...
- C#中的==和Equals的区别
一,值类型中的比较,对于值类型,如果对象的值相等,则相等运算符 (==) 返回 true,否则返回 false. ; ; bool bi1 = ai.Equals(bi); //true bool b ...
- java中等于和equals的区别
面试的时候没答上,很受打击,特写在这里. ==是判断两个变量或实例是不是指向同一个内存空间equals是判断两个变量或实例所指向的内存空间的值是不是相同 除了String和封装器,equals()和“ ...
- Scala中==,eq与equals的区别
根据官方API的定义: final def ==(arg0: Any): Boolean The expression x == that is equivalent to if (x eq null ...
- Java中的==和equals的区别详解
1.基础知识 (1)String x = "hello"; (2)String x = new String ("hello"); 第1种方式的工作机制是,首先 ...
- JAVA中的==和equals()的区别
一.先来说说Java的基本数据类型和引用类型 八大基本数据类型:Byte,short,int,long,double,folat,boolean,char,其中占一个字节的是byte,short和ch ...
- 浅谈==和equals的区别
java中的==和equals的区别? 看上面的代码,输出的结果是: true false true true 1.为什么会有上面的区别呢?==和equals比较的到底是什么呢? 搞清楚两者的区别其实 ...
- C#中 Reference Equals, == , Equals的区别
原文地址:http://blog.csdn.net/wuchen_net/archive/2010/03/23/5409327.aspx ReferenceEquals, == , Equals Eq ...
随机推荐
- "回车"(carriage return)和"换行"(line feed)
“回车”(carriage return)和“换行”(line feed)这两个概念的来历: 在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10 ...
- java锁和同步
Java 语言设计中的一大创新就是:第一个把跨平台线程模型和锁模型应用到语言中去,Java 语言包括了跨线程的关键字synchronized 和 volatile,使用关键字和java类库就能够简单的 ...
- 怎样開始学习ADF和Jdeveroper 11g
先给一些资料能够帮助刚開始学习的人開始学习ADF和Jdeveloper11g 1.首先毫无疑问,你要懂java语言. 能够看看Thinking In Java, 或者原来sun的网上的一些文档Sun' ...
- Linux下搜索文件find、which、whereis、locate
Linux下搜索文件find.which.whereis.locate: - which 寻找“执行文件” - -a 将所有可找到的命令均列出,而不仅仅列出第一个找到的命令名称 - whereis 寻 ...
- 调结者(Dispatcher)之执行action
调结者的执行action StrutsExecuteFilter类的工作就是执行对应的action请求.StrutsExecuteFilter类的工作还需要有一个叫ExecuteOperations类 ...
- http协议详解(1)
HTTP协议报文格式 接下来我们看看HTTP协议(Hypertext Transfer Protocol――超文本传输协议)浏览器端(客户端)向WEB服务器端访问页面的过程和HTTP协议报文的格式. ...
- 提高SDN控制器拓扑发现性能
原文由我发表在sdnlab.com.原文链接:http://www.sdnlab.com/15425.html SDN网络的一大特点就是资源由控制器集中管理,控制器管理网络,最基本的当然需要知道网络的 ...
- JZOJ.5274【NOIP2017模拟8.14】数组
Description
- nginx tomcat https配置方案
nginx目录下配置: ssl目录下 添加 证书和密码,如图 /etc/nginx/conf.d 下修改配置文件 HTTP域名的配置: ## Basic reverse proxy server # ...
- iOS 将金钱变为逗号形式
; NSNumberFormatter * formatter = [NSNumberFormatter new]; [formatter setNumberStyle:NSNumberFormatt ...