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的区别的更多相关文章

  1. java中的==和equals的区别

    关于JAVA中的==和equals函数的区别 今天在研读Thinking in java 时注意到==和equals的区别,于是就通过查看JDK_API才读懂了他们的区别,于是将心得分享一下,望批评指 ...

  2. java中hashcode和equals的区别和联系

    HashSet和HashMap一直都是JDK中最常用的两个类,HashSet要求不能存储相同的对象,HashMap要求不能存储相同的键. 那么Java运行时环境是如何判断HashSet中相同对象.Ha ...

  3. C#中的==和Equals的区别

    一,值类型中的比较,对于值类型,如果对象的值相等,则相等运算符 (==) 返回 true,否则返回 false. ; ; bool bi1 = ai.Equals(bi); //true bool b ...

  4. java中等于和equals的区别

    面试的时候没答上,很受打击,特写在这里. ==是判断两个变量或实例是不是指向同一个内存空间equals是判断两个变量或实例所指向的内存空间的值是不是相同 除了String和封装器,equals()和“ ...

  5. Scala中==,eq与equals的区别

    根据官方API的定义: final def ==(arg0: Any): Boolean The expression x == that is equivalent to if (x eq null ...

  6. Java中的==和equals的区别详解

    1.基础知识 (1)String x = "hello"; (2)String x = new String ("hello"); 第1种方式的工作机制是,首先 ...

  7. JAVA中的==和equals()的区别

    一.先来说说Java的基本数据类型和引用类型 八大基本数据类型:Byte,short,int,long,double,folat,boolean,char,其中占一个字节的是byte,short和ch ...

  8. 浅谈==和equals的区别

    java中的==和equals的区别? 看上面的代码,输出的结果是: true false true true 1.为什么会有上面的区别呢?==和equals比较的到底是什么呢? 搞清楚两者的区别其实 ...

  9. C#中 Reference Equals, == , Equals的区别

    原文地址:http://blog.csdn.net/wuchen_net/archive/2010/03/23/5409327.aspx ReferenceEquals, == , Equals Eq ...

随机推荐

  1. CentOS7.1 安装Liberty之环境准备(1)

    一.基础平台 1.一台装有VMware的windows系统(可联网) 2.CentOS 7.1 64bit镜像 二.最小化安装两台CentOS 7.1 的虚拟机controller.compute1, ...

  2. 简单的TableView

    背景知识 每个表都是UITableView的实例,表中的每一行都是UITableViewCell的实例. TableView的种类 Grouped table Plain table without ...

  3. cout显示Mat类对象报错Access Violation

    AV(Access Violation)错误:非法访问. image_match.exe 中的 0x0000002a 处有未经处理的异常: 0xC0000005: Access violation 程 ...

  4. 鼠标滑入滑出,输入框获得失去焦点后触发事件的N种方法之一二

    熟悉position的用法 <!doctype html><html lang="en"> <head> <meta charset=&q ...

  5. WPF实用知识点

    1.一个基本的WPF程序, 需要引入的程序集WindowsBase, PresentationCore, PresentationFramework using System; using Syste ...

  6. plsql类型

    --plsql基本数据类型1.标量类型1.1数字型--BINARY_INTEGER 来存储有符号整数.它的范围是-2**31至2**31.跟PLS_INTEGER一样,BINARY_INTEGER所需 ...

  7. awk向脚本传递參数(二)

    命令行參数的一个重要限制是它们在BEGIN过程中是不可用的. 也就是说,直到首行输入完毕以后它们才可用.为什么?这是一个easy混乱的部分.从命令行传递的參数就好像文件名称一样被处理.赋值操作知道这个 ...

  8. 【转】 JS实现HTML标签转义及反转义

    原文地址:http://blog.600km.xyz/2015/12/15/js-encode-html-tags/ 简单说一下业务场景,前台用户通过input输入内容,在离开焦点时,将内容在div中 ...

  9. 表单验证 靠name获取

    表单 靠name获取 <form class="add-form" name="form" action="#" method=&qu ...

  10. Spring Cloud Zuul实现IP访问控制

    接着上篇文章 https://www.cnblogs.com/mxmbk/p/9569438.html IP访问限制和黑白名单如何做,需要解决以下几个问题: 1.如何识别正常访问和异常访问?(一段时间 ...