序言

值类型的比较

int i = ;
int j = ;
Console.WriteLine("Equals和= =(等于号)的比较");
Console.WriteLine("i.Equals(j) :" + i.Equals(j));
Console.WriteLine("i==j " + (i == j));

结论:对于值类型来说,两者是相同的,都是比较的变量的值。

引用类型的比较

对于引用类型来说,等号(==)比较的是两个变量的”引用” 是否一样,即是引用的”地址”是否相同。而对于equals来说仍然比较的是变量的”内容”是否一样

1、 字符串的比较(string)

string s1 = "abc";
string s2 = "abc";
Console.WriteLine("Equals和==(等于号)的比较");
Console.WriteLine("s1==s2 " + (s1 == s2));
Console.WriteLine("s1.Equals(s2) " + s1.Equals(s2));

大家可能会问上面说的==号是比较两个引用类型的变量的引用是否一致,但是上面的s1 和s2是两个不同的变量,为何比较的输出是true呢?

答案:由于string是微软封装的一个字符串类,在内部他已经对==操作符进行了重写。重写后他比较的则是两个变量的内容是否相同,下面我会给大家证明的:

2、 自定义的其他引用类型

总结

Equals比较的永远是变量的内容是否相同

而==比较的则是引用地址是否相同(前提:此种类型内部没有对Equals或==进行重写操作,否则输出可能会有不同)

Equals

EqualsHelper

资料

https://www.cnblogs.com/chen0720/p/3209398.html

.NET面试题系列(二十一)C#中Equals和==的比较的更多相关文章

  1. 【圣诞特献】Web 前端开发精华文章推荐【系列二十一】

    <Web 前端开发精华文章推荐>2013年第九期(总第二十一期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各种增强网站用户体验的 jQuery 插件,展示前沿的 HTML5 和  ...

  2. 【剑指offer】面试题 4. 二维数组中的查找

    面试题 4. 二维数组中的查找 题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序. 请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该 ...

  3. 剑指Offer:面试题3——二维数组中的查找(java实现)

    问题描述:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 思路:取数组中的元素与 ...

  4. 剑指offer系列——二维数组中,每行从左到右递增,每列从上到下递增,设计算法找其中的一个数

    题目:二维数组中,每行从左到右递增,每列从上到下递增,设计一个算法,找其中的一个数 分析: 二维数组这里把它看作一个矩形结构,如图所示: 1 2 8 2 4 9 12 4 7 10 13 6 8 11 ...

  5. 剑指offer-面试题3.二维数组中的查找

    题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增 的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断该数组中是否有该整数. 算法流程如下: 比如一个 ...

  6. 【剑指Offer学习】【面试题:二维数组中的查找】PHP实现

    最近一直看剑指Offer.里面很多算法题.于是就想着用PHP来显示一下. 题目: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序. 请完成一个函数,输入这样的 ...

  7. 剑指offer面试题4: 二维数组中的查找

    题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数 ...

  8. 剑指offer编程题Java实现——面试题3二维数组中的查找

    题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数.   下面是我实现的代码 ...

  9. 前端常见算法面试题之 - 二维数组中的查找[JavaScript解法]

    --------------------- 作者:吴潇雄 来源:CSDN 原文:https://blog.csdn.net/weixin_43439741/article/details/835118 ...

  10. 剑指offer面试题3二维数组中的查找

    题目: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 需要与面试官确认的是,这 ...

随机推荐

  1. windows 控制台默认为UTF-8显示的方法

    这里需要先了解些内容: CHCP CHCP是MS DOS中的命令,用来显示或设置活动代码页编号的.用法是: CHCP [nnn] 其中nnn指定的是代码页的编号.这个参数是可选的,在命令行下如果不指定 ...

  2. docker-macvlan网络

    部署 A机器:192.168.50.130 B机器:192.168.50.131 Macvlan Bridge模式: 1.创建macvlan网络 A机器: docker network create ...

  3. Jmeter之Plugin插件,服务器监控

    Jmeter Plugins插件 我在测试工作中:主要使用了监听器中的图表报告和监控服务器CPU,内存(这篇博文就是对插件的安装,以及jmeter怎么监控服务器CPU~) 1.下载安装Plugins插 ...

  4. 安装consul-client+registrator

    安装registrator 下载镜像这里必须要注意:registrator的lastest版本已经2年没更新了,他的最新主板本是master,一定要注意,因为旧的版本无法发现跟自己不是同一个网络的容器 ...

  5. 思科设备ACL与NAT技术

    ACL 访问控制列表(Access Control Lists),是应用在路由器(或三层交换机)接口上的指令列表,用来告诉路由器哪些数据可以接收,哪些数据是需要被拒绝的,ACL的定义是基于协议的,它适 ...

  6. 句子反转——牛客刷题(java)

    题目描述: 给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前后没有空格. 比如: (1) “hello xiao mi”-> “mi xia ...

  7. 美团2017年CodeM大赛-初赛B轮 黑白树 (树形dp)

    大意: 给定树, 初始每个点全为白色, 点$i$有权值$k_i$, 表示选择$i$后, 所有距离$i$小于$k_i$的祖先(包括i)会变为黑色, 求最少选多少个点能使所有点变为黑色. 链上情况的话, ...

  8. Gluster的搭建和使用

    Gluster的搭建和使用 序言 我们为什么要去使用分布式存储,在一家大型公司或者大规模的集群中,大家可能会经常遇到一个问题,我的数据怎么存放,放在那,数据空间不够了怎么办,这些问题经常困扰着我们. ...

  9. 【原创】大叔经验分享(66)docker启动tomcat不输出catalina.out

    docker启动tomcat默认是: Run the default Tomcat server (CMD ["catalina.sh", "run"]): 查 ...

  10. 异常-try...catch的方式处理异常2

    package cn.itcast_02; /* * A:一个异常 * B:二个异常的处理 * a:每一个写一个try...catch * b:写一个try,多个catch * try{ * ... ...