有人可以通过用Equals覆盖GetHashCode来阐明问题吗?我浏览了很多文章,这对我来说似乎并不合理。 因此,假设我有A类
public class A: IEqualityComparer<A>
{
public int Field1 { get; set; }
public int Field2 { get; set; }
public bool Equals(A x, A y)
{
return x.Field1 == y.Field1;
}
public int GetHashCode(A obj)
{
return obj.Field1.GetHashCode();
}
}
据我了解,如果GetHashCode返回相同的值,编译器将进入Equals。但是,它的真正利润是什么?方法Equals与GetHashCode()相同