0

我有来自同一个类的两个对象,假设它命名为Class1Class1有一个EntitySet,基于(字符串一)的一个属性 表明这两个对象具有相同的确切 (值和计数ClassChild)的最佳方法是什么?
ClassChild's EntitySetsClassChild

谢谢你。

4

1 回答 1

2

您可以使用SequenceEqual- 方法:

bool equal = obj1.ClassChildren.SequenceEqual(obj2.ClassChildren)

它使用默认相等比较器来使用自定义比较器,请参见此处或此示例:

class ClassChildComparer : IEqualityComparer<ClassChild>
{
    public bool Equals(ClassChild x, ClassChild y)
    {
        return x.Property == y.Property;
    }

    // If Equals() returns true for a pair of objects then GetHashCode() must return the same value for these objects.
    public int GetHashCode(ClassChild c)
    {
        return c.Property.GetHashCode();
    }

}

//and then:

bool equal = obj1.ClassChildren.SequenceEqual(obj2.ClassChildren, new ClassChildComparer())
于 2011-07-17T10:27:24.910 回答