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
最新文章
- java——HashMap的实现原理,自己实现简单的HashMap
- Xcode快捷键
- linux网卡设置详解
- [转]ios 开发file's owner以及outlet与连线的理解
- 国内Lua先驱的Lua源码总结
- linux的命令(1)
- 操作符重载.xml
- invoking gdb
- hadoop的核心思想
- spring-cloud-bus
- 360开源的类Redis存储系统:Pika
- HDU1557权利选举
- Taskctl安装及配置Kettle插件
- 洗礼灵魂,修炼python(89)-- 知识拾遗篇 —— 进程
- springmvc拦截器的简单了解
- java 移动开发获取多级下拉框json数据的类和mobile-select-area插件
- [日常] Go语言圣经-Deferred函数
- android 圆角编写(懒得去找,写给自己看的)
- java运算符优先级别
- 五子棋游戏 canvas 事件 边界检测
热门文章
- 关于JS中的constructor与prototype{转}
- python update from 2.6 to 2.7
- Plug组件(不断跟新)
- Android UI开发第三十五篇——AppCompat实现Action Bar
- Less-css预处理Node and VS扩展编译
- 并发编程6 锁&;进程&;队列
- Oracle 数据库的组成(instance+database)
- 指定运行Exchange Powershell的Server
- 服务器1M带宽同时能承受多少人在线
- django 多数据库时 ORM语句 选择数据库