Equals:

下面的语句中,x、y 和 z 表示不为 null 的对象引用。

* 除涉及浮点型的情况外,x.Equals(x) 都返回 true。

* x.Equals(y) 返回与 y.Equals(x) 相同的值。

* 如果 x 和 y 都为 NaN,则 x.Equals(y) 返回 true。

* 当且仅当 x.Equals(z) 返回 true 时,(x.Equals(y) && y.Equals(z)) 才返回 true。

* 只要不修改 x 和 y 引用的对象,对 x.Equals(y) 的相继调用将返回相同的值。

* x.Equals(null) 返回 false。

==:

对于预定义的值类型,如果操作数的值相等,则相等运算符 (==) 返回 true,否则返回 false。

对于 string 以外的引用类型,如果两个操作数引用同一个对象,则 == 返回 true。

对于 string 类型,== 比较字符串的值。

Equals与==的区别

"==" : 操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。

"equals" : 操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。

而字符串是一个特殊的引用型类型,在C#语言中,重载了string 对象的很多方法方法(包括equals

总结如下:

1、对于值类型,==和equals等价,都是比较存储信息的内容。

2、对于引用类型,==比较的是引用类型在栈中的地址,equals方法则比较的是引用类型在托管堆中的存储信息的内容。

using System;

namespace EqualsTest

{

class EqualsTest

{

static void Main(string[] args)

{

//值类型

int x = ;

int y = ;

Console.WriteLine(x == y);//True

Console.WriteLine(x.Equals(y));//True

//引用类型

A a = new A();

B b = new B();

//Console.WriteLine(a==b);//报错

Console.WriteLine(a.Equals(b));//False

//字符串(最像值类型的引用类型)

string m = "";

string n = "";

Console.WriteLine(m==n);//True

Console.WriteLine(m.Equals(n));//True

//结构体(最像引用类型的值类型)

T t = new T();

V v = new V();

//Console.WriteLine(t == v);//报错

Console.WriteLine(t.Equals(v));//True

Console.Read();

}

}

class A { public int X = ; }

class B { public int X = ; }

struct T { int X; }

struct V { int X; }

}

原址:https://blog.csdn.net/studyofnet/article/details/16842235

https://www.cnblogs.com/9cct/p/7749358.html

java中equals和==的区别 (转)

java中equals和==的区别  值类型是存储在内存中的堆栈(以后简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中. ==操作比较的是两个变量的值是否相等,对于引 ...

【转】Java中equals和==的区别

[转]Java中equals和==的区别 java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型.byte,short,char,int,long,float,double,boole ...

C#中 Equals和= =的区别

C#中 Equals和= =的区别 前言:最近感觉技术进步实在是太慢,一直被游戏缠身不能自拔哈哈,但是游戏打多了真的是感觉整个人浮躁的不行,所以我现在要去游戏多写代码多看书,今天在博客园中看到一个前辈 ...

(转)Java中equals和==的区别

java中的数据类型,可分为两类:  1.基本数据类型,也称原始数据类型.byte,short,char,int,long,float,double,boolean    他们之间的比较,应用双等号( ...

Java 中 Equals和==的区别(转)

另外一篇参考: https://blog.csdn.net/striverli/article/details/52997927 在谈论equals和==的区别前,我们先简单介绍一下JVM中内存分配的 ...

Java中equals和==的区别?为什么重写equals方法后,一定要重写hashCode方法?

首先明确一点,equals是方法,==是操作符. 1. 如果比较的是基本数据类型: 只讨论==,因为equals是不存在的,因为java中基本数据类型不能调用method的. 2. 如果比较的是引用类 ...

java中equals和==的区别详解

java中的数据类型,可分为两类: 1.基本数据类型. byte,short,char,int,long,float,double,boolean这八大原始数据类型他们之间的比较,使用“==”,比较的 ...

Mabitis中的#与$符号区别及用法介绍

这篇文章主要介绍了Mabitis中的 #{}与   ${} 符号区别,需要的朋友可以参考下 一.介绍 mybatis 中使用 Mapper.xml里面的配置进行 sql 查询,经常需要动态传递参数,例 ...

C#中equals和==的区别有哪些

本文导读:C# 中==是用来判断变量的值是否相等,相等返回true,不相等返回false.Equals是用来判断两个对象(除string类型外)是否相等,相等的 条件是:值,地址,引用全相等,因为St ...

随机推荐

重温JSP学习笔记--JSP动作标签

上一篇笔记写的是jsp的三个指令九个内置对象,这篇随笔开始写jsp的动作标签,动作标签是由服务器(Tomcat)来解释执行,与java代码一样,都是在服务器端执行的,jsp动作标签有十几多个,这里只写 ...

adb push和pull使用

1.运行cmd> 进入adb.exe目录 2.>adb connect ip 3.>adb remount 4.>adb push 本地apk全路径 /system/app/ ...

ASP.NET MVC学习之Ajax(完结)

一.前言 通过上面的一番学习,大家一定收获不少.但是总归会有一个结束的时候,但是这个结束也意味着新的开始. 如果你是从事ASP.NET开发,并且也使用了第三方控件,那么一定会觉得ASP.NET开发aj ...

VMWare ESXi 5.5安装及配置

VMWare ESXi 5.5安装大概过程如下:制作虚拟化ESXi系统的USB启动盘,安装ESXi系统到USB,用USB启动ESXi系统.比较难理解,下面图解过程. 下载UNetbootin   (下 ...

web后门top

看到了一个博客  觉得关键点很有用 1)出现频率最高的DDoS后门文件名 abc.php, xl.php, Xml.php, dedetag.class.php, counti.php, plase. ...

小白偶遇Sublime Text 3

sublime text3号称神一样的编辑器,主要归功于它丰富的插件所带来的可扩展性.以前曾经抱着玩一玩的心态下载了sublime ,没有插件的sublime 很快被我扔到一边.在用过很多的编辑器后, ...

Android中完全退出当前应用系统

一.将统一管理Activity的类ActivityManager复制到工程里面. package com.jsmtr.www.Helper; import java.util.LinkedList; ...

Freemarker常用技巧(三)

freemarker模板解析过程 例如:一个freemarker表达式

${hello} ,会被解析成三个部分,分别是${he ...

HTML5阴影与渐变

一.阴影 阴影的效果,阴影有四个状态值控制,分别是shadowBlur,shadowOffsetX,shadowOffsetY和shadowColor.shadowBlur为阴影的像素模糊值,shad ...

POI 自用API

poi包下载 API 使用POI生成Excel,大家都是赞个.可是狐狸觉得毕竟不是微软的产品,使用没有C#语言的好用,方法还是存在极限的. 下面总结狐狸自己用过的方法: import org.apac ...

c语言equals用法,C# 中 equals( ) 和 == 的区别和用法相关推荐

  1. python items函数用法,Python中dictionary items()系列函数的用法实例

    本文实例讲述了Python中dictionary items()系列函数的用法,对Python程序设计有很好的参考借鉴价值.具体分析如下: 先来看一个示例: import html # availab ...

  2. mysql中merge的用法_mysql中merge表存儲引擎用法介紹

    mysql中merge表存儲引擎用法介紹: mysql的merge引擎類型允許你把許多結構相同的表合並為一個表.然后,你可以執行查詢,從多個表返回的結果就像從一個表返回的結果一樣.每一個合並的表必須有 ...

  3. python中numpy的用法_Python中numpy多维数组的用法

    继上篇讲过numpy如何构建多维数组之后,今天我们来学习numpy多维数组的用法. 加法和减法操作要求操作双方的维数信息一致,均为M*N为数组方可正确执行操作. a = np.arange(4) 输出 ...

  4. python中字符串函数的用法_python中字符串内置函数的用法介绍(代码)

    本篇文章给大家带来的内容是关于python中字符串内置函数的用法介绍(代码) ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. capitalize() 首字母大写a='somewor ...

  5. mysql 枚举 enum用法_mysql中的枚举类型ENUM的用法:

    mysql中的枚举类型ENUM的用法: (2010-06-18 13:44:13) mysql中的枚举类型ENUM的用法: mysql中的枚举类型ENUM是一个字符串对象,它的值是自表创建时在列规定中 ...

  6. python中字符串函数的用法_python中字符串内置函数的用法总结

    capitalize() 首字母大写 a='someword' b=a.capitalize() print(b) ->Someword casefold()&lower() 所有字母变 ...

  7. python中try的用法_python中的 try...except...finally 的用法

    python中的 try...except...finally 的用法 author:headsen chen date:2018-04-09 16:22:11 try, except, finall ...

  8. java equals比较_Java中equals()和==的比较

    今天写点简单点的吧,equals和==的作用都是作比较,但==是条件运算符,而equals是一个继承了object类的方法,也就是说所有类都有一个equals方法,我们先来看一下equals方法在ob ...

  9. java equals getclass_Java equals()方法 – 子类中equals的语义如何确定getClass和instanceof的使用...

    我是Java编程的初学者.目前我在this页面上阅读有关继承和等于方法的内容. 直到这一点,我理解这些解释: Compare the classes of this and otherObject. ...

最新文章

  1. Microbiome:城市海滩和污水中抗生素抗性组研究
  2. 韩顺平老师 Mysql优化 笔记
  3. sqlite 日期格式与排序问题
  4. php curl和file get,PHP cURL与file_get_contents
  5. 现代软件工程系列 学生和老师都不容易
  6. 通過腳本實現zabbix的安裝
  7. Spring-context-ApplicationContextInitializer接口TODO
  8. ASP.NET 文件后缀名详解
  9. 网络抖动工具clumsy
  10. ZT:【搞笑】某大学生毕业自我鉴定
  11. 使用showdown.js打造自己的markdown编辑器,支持table
  12. 零售商贩mysql表设计:banner+banner_item+image关联表(轮播图表)
  13. 用matlab对图像进行边缘填充,matlab中的图像边界填充函数 | 学步园
  14. js 清空所有cookie
  15. VmatrixOJ--[H 1003] 小壕的礼物
  16. 4t硬盘实际容量是多少_怎么对大容量硬盘(例如4T硬盘)进行查看并分区
  17. NPDP产品经理小知识:知识产权管理
  18. 在java中 哈希表会经常出现哈希碰撞吗
  19. 撬动百亿智能办公市场 钉钉发布智能考勤机标准
  20. ACTF出题(dropper+master_of_dns)

热门文章

  1. 写个小程序有效突破SAT词汇关
  2. 【ML】高斯混合模型(GMM)
  3. JAVA局域网飞鸽传书软件设计与实现
  4. “威客”诠释社区盈利机制
  5. 社交语聊APP发展前景及遇到黑客攻击怎么解决
  6. python怎么写中文至excel_Python操作Excel_输出所有内容(包含中文)
  7. python yield 协程_用yield实现python协程
  8. tailwindcss优先级设置
  9. 用iphone设置邮箱,显示imap服务器没有响应,请检查
  10. 达梦DBLINK之DM访问Oracle问题处理