IEqualityComparer中的Equals的目的是什么

时间:2018-08-27 20:27:09

标签: c# .net equals-operator

有人可以通过用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()相同

0 个答案:

没有答案