C#中==和Equals的区别

1 值类型

==和Equals比较的内容都是一致的,都是比较内容

2 引用数据类型

2.1 除了String之外

==Equals
比较首地址是否相等比较值是否相等

2.2 String数据类型

利用反编译工具,查看String源码,可以看到如下代码
这里写图片描述

从代码中可以看出,String对==也进行了重写,所以,在String类型==和Equals的功能是一致的,也是进行值的比较,所以如下代码的:
String s1 = "a";
String s2 = "a";
String s3 = new String(new char[1]{'a'});
Console.WriteLine(s1 == s2);
Console.WriteLine(s1 == s3);

这里的输出结果都一定是true


版权声明:本文为beixiaohaizi原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。