c#对象集合去重_c# list对象集合 去重

新建一个类,实现IEqualityComparer接口。注意GetHashCode方法的实现,只有HashCode相同才会去比较

public class Compare:IEqualityComparer

{

public bool Equals(Student x,Student y)

{

return x.Id == y.Id;//可以自定义去重规则,此处将Id相同的就作为重复记录,不管学生的爱好是什么

}

public int GetHashCode(Student obj)

{

return obj.Id.GetHashCode();

}

}

调用:list.Distinct(new Compare()).ToList().ForEach(s => Console.WriteLine(s.ToString()));

列:

///

///list对象去重///

public class Compare : IEqualityComparer{///

///

///

///

///

///

public boolEquals(HistoryStatisticsDTO x, HistoryStatisticsDTO y)

{if (x == null || y == null)return false;if (x.CaseNumId ==x.CaseNumId)

{return true;

}else{return false;

}

}///

///

///

///

///

public intGetHashCode(HistoryStatisticsDTO obj)

{if (obj == null)

{return 0;

}else{returnobj.CaseNumId.GetHashCode();

}

}

}

调用: var list=historyStatistics.Distinct(new Compare()).ToList();

原文:https://www.cnblogs.com/zhangzhiping35/p/11881309.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值