これは、2 つの辞書が等しいかどうかを比較する比較子を作成する最良の方法ですか? これは正確である必要があります。Entity.Columns は KeyValuePair(string, object) の辞書であることに注意してください。
public class EntityColumnCompare : IEqualityComparer<Entity>
{
public bool Equals(Entity a, Entity b)
{
var aCol = a.Columns.OrderBy(KeyValuePair => KeyValuePair.Key);
var bCol = b.Columns.OrderBy(KeyValuePAir => KeyValuePAir.Key);
if (aCol.SequenceEqual(bCol))
return true;
else
return false;
}
public int GetHashCode(Entity obj)
{
return obj.Columns.GetHashCode();
}
}
また、GetHashCode の実装についてもよくわかりません。
ありがとう!