我定义了一个对象,为它创建了一个 IEqualityComparer 类,并像这样使用它:
someList.Distinct(new DistinctComparer());
我认为这行得通,但我错了。比较器对象在 Equals 方法中指定了对象的 11 个属性。我意识到删除的重复项是随机的。
我希望删除基于日期的附加属性。因此,对于在 11 个属性中有重复的对象,我想保留最近日期的对象,其属性不包含在 Equals 方法中。
如果重要,对象是 USPS 定义的美国地址。等式方法:
public bool Equals(Address x, Address y)
{
return x.HouseNo == y.HouseNo &&
x.PreDir == y.PreDir &&
x.StreetName == y.StreetName &&
x.StreetSuffix == y.StreetSuffix &&
x.PostDir == y.PostDir &&
x.City == y.City &&
x.State == y.State &&
x.Zip5 == y.Zip5 &&
x.Zip4 == y.Zip4 &&
x.Sud == y.Sud &&
x.UnitNum == y.UnitNum;
}
我不知道如何保留最近销售日期的地址。有什么线索吗?谢谢