== 与Equals区别 示例
时间: 2023-08-08 12:07:22 浏览: 112
==运算符和Equals()方法区别
下面举一个简单的示例来说明 == 操作符和 Equals 方法的区别:
```csharp
string str1 = "hello";
string str2 = new string(new char[] { 'h', 'e', 'l', 'l', 'o' });
bool isEqual1 = str1 == str2; // true,因为字符串的值相等
bool isEqual2 = str1.Equals(str2); // true,因为字符串的内容相等
object obj1 = str1;
object obj2 = str2;
bool isEqual3 = obj1 == obj2; // false,因为 obj1 和 obj2 引用的不是同一个对象
bool isEqual4 = obj1.Equals(obj2); // true,因为 obj1 和 obj2 引用的对象的内容相等
```
从上面的示例可以看出,使用 == 操作符比较两个字符串时,比较的是字符串的值,即两个字符串的字符序列是否相同;而使用 Equals 方法比较两个字符串时,比较的是字符串的内容,即两个字符串的字符序列是否相等。此外,当将字符串对象转换为 object 类型后,使用 == 操作符比较的是两个对象的引用是否相同,而使用 Equals 方法比较的是两个对象的内容是否相同。
阅读全文