重複の可能性:
C# で Equals メソッドがオーバーライドされている場合、GetHashCode をオーバーライドすることが重要なのはなぜですか?
Object クラスの GetHashCode メソッドは実装していません。そのため、多くの警告が表示されます。
Equals メソッドでハッシュ コードをチェックするだけで等価性をチェックする方法があるので、Equals と GetHashCode の両方を実装し、「Object.GetHashCode が実装されていません」という警告が表示されないようにします。
GetHashCode を実装せずに Equals を実装するとどうなりますか? myclass のインスタンスはアプリケーションで更新可能です。
public class MyClass{
private string x;
private string y;
public override bool Equals(object obj)
{
try
{
return Object.Equals(this.x, obj.x)
&& Object.Equals(this.y, obj.y);
}
catch(Exception Ex)
{
log.Debug(Ex.StackTrace);
throw;
}
}
}