首页 > 代码库 > LINQ解决根据某个字段去重

LINQ解决根据某个字段去重

想要List结果重复 的数据很简单,只要.Dinstinct()就好了


但是如果想要根据某个字段去除重复的数据,上面的方法就帮不上忙了,我们需要重写一个方法,直接上例子吧

[Serializable]
    public class HomePageUserModel
    {
        public int UserID { get; set; }
        public string TitleUserName { get; set; }
        public string ShowUserName { get; set; }
        public DateTime? ExcuteTime { get; set; }
    }
    [Serializable]
    public class HomePageUserModelComparer : EqualityComparer<HomePageUserModel>
    {
        public override bool Equals(HomePageUserModel x,HomePageUserModel y)
        {
            if (x == null && y == null)
            {
                return false;
            }
            else
            {
                return x.TitleUserName == y.TitleUserName;
            }
        }

        public override int GetHashCode(HomePageUserModel obj)
        {
            return obj.TitleUserName.GetHashCode();
        }
    }



这儿调用就可以完成自定义字段去重的效果


LINQ解决根据某个字段去重