根据两个实体集的一个属性检查它们是否相等的最好方法



我有两个来自同一个类的对象,假设它命名为Class1, Class1EntitySetClassChild
根据ClassChild (字符串1)的一个属性,指示这两个对象具有相同的ClassChild's EntitySets (值和计数)的最佳方法是什么?

谢谢。

您可以使用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())

相关内容

  • 没有找到相关文章

最新更新