person クラスが与えられた場合:
class person
{
public string name;
public int age;
}
たとえば、クラス person の GetHashCode メソッドをオーバーライドします。
public override int GetHashCode()
{
unchecked
{
hashCode = 17;
// ...some code here...
}
return hashCode;
}
msdn の指示に基づいて、Equality もオーバーライドする必要があるため、次のようにしました。
public override bool Equals(object obj)
{
// ...something like:
return this.name == (person)obj.name && this.age ==(person)obj.age;
}
ねえ、待って、sine 私は person インスタンスのハッシュコードを取得できます。Equals でハッシュコードを使用しないのはなぜですか? お気に入り:
public override bool Equals(object obj)
{
return this.GetHashCode() == (person)obj.GetHashCode();
}
私はググって、ほとんどの Equals() の例が以前の Equals() の版と似ていることを発見しました。
どんな助けでも感謝します、thx。