C#中==和.Equals方法之间的区别

相等运算符(==)是比较运算符Equals(),C#中的方法用于比较字符串的内容。

Equals()方法仅比较内容。

示例

using System;
namespace ComparisionExample {
   class Program {
      static void Main(string[] args) {
         string str = "hello";
         string str2 = str;
         Console.WriteLine("Using Equality operator: {0}", str == str2);
         Console.WriteLine("Using equals() method: {0}", str.Equals(str2));
         Console.ReadKey();
      }
   }
}

输出结果

Using Equality operator: True
Using equals() method: True

相等运算符用于比较参考身份。

让我们来看另一个例子。

示例

using System;
namespace Demo {
   class Program {
      static void Main(string[] args) {
         object str = "hello";
         char[] values = {'h','e','l','l','o'};
         object str2 = new string(values);
         Console.WriteLine("Using Equality operator: {0}", str == str2);
         Console.WriteLine("Using equals() method: {0}", str.Equals(str2));
         Console.ReadKey();
      }
   }
}

输出结果

Using Equality operator: False
Using equals() method: True