C#语言中的“==”与“Equals()”

在C#语言中比较相等可用“==”运算符与“Equals()”方法,下面的示例代码是两个string类型相比较是否相等:

string str1 = "abc";
string str2 = "abc";
Console.WriteLine(str1 == str2);
Console.WriteLine(str1.Equals(str2));

结果皆为True。Equals()方法比“==”运算符而言可比较对象的引用,当被比较的项是内存中的同一个项时返回True。

下面的示例程序是两个类,分别是 classA 、classB:

class classA
{

}
class classB
{

}
static void Main(string[] args)
{
     classA a = new classA();
     classB b = new classB();
     Console.WriteLine(a.Equals(b));
     Console.WriteLine(a.Equals(a));
     Console.WriteLine(a.GetHashCode());
     Console.WriteLine(b.GetHashCode());
}

结果为:
False
True
48649253
61921478

posted on 2007-02-27 00:05  豆豆の爸爸  阅读(371)  评论(0编辑  收藏  举报