我没有实现Object类的GetHashCode方法,所以我得到了许多警告。
有没有一种方法可以在Equals方法中只检查哈希码来检查相等性,因此实现Equals和GetHashCode并且不会出现“Object.GetHashCode未实现”的警告?
如果我只实现Equals而不实现GetHashCode会发生什么?我的应用程序中的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;
}
}
}