두 EntityCollections가 동일한 지 확인해야합니다. 트릭을 수행 할 것이라고 생각하는 코드가 있지만 더 효율적인 알고리즘이 있는지 궁금합니다. EntityCollections에는 각각 10 개 미만의 요소가있을 수 있습니다.두 EntityCollection에 동일한 요소가 포함되어 있는지 확인하는 더 효과적인 방법이 있습니까?
private static bool isEquivalent(
EntityCollection<MyClassDetails> myClassDetails1,
EntityCollection<MyClassDetails> myClassDetails2)
{
var myClassComparer = new MyClassComparer();
return
myClassDetails1.All(
myClassDetail1 =>
myClassDetails2.Contains(
myClassDetail1, myClassComparer));
}
class MyClassComparer : IEqualityComparer<MyClassDetails>
{
public bool Equals(MyClassDetails details1, MyClassDetails details2)
{
return details1.DetailID == details2.DetailID;
}
public int GetHashCode(MyClassDetails obj)
{
return obj.GetHashCode();
}
}
두 개의 콜렉션이 비어 있는지 여부가 결정되지 않습니까? – dlev
예, 믿습니다. – Don