IEqualityComparer用法(子类的比较)

//BaseHotelInfoEntity是一个继承BaseEntity的子类 c#

public class BaseEntityEqualityComparer : IEqualityComparer<BaseHotelInfoEntity>
    {
        public bool Equals(BaseHotelInfoEntity x, BaseHotelInfoEntity y)
        {
            return ((BaseEntity)x).Id == ((BaseEntity)y).Id;
        }


        public int GetHashCode(BaseHotelInfoEntity obj)
        {
            return obj.ToString().GetHashCode();
        }
    }



//而后就能够在其余地方使用了,这里与非子类的实体类相比,惟一的区别就是须要转换到最顶层的父类不然比较无效。。。
hotels = hotels.Distinct(new BaseEntityEqualityComparer()).ToList();
相关文章
相关标签/搜索