C#中使用linq查询时,查询结果集调用Distinct()方法并没有作用,结果依旧没有去重复。
解决办法
1.分组后取第一个值
List<Person> distinctPeople = allPeople
.GroupBy(p => new {p.Id, p.Name} )
.Select(g => g.First())
.ToList();
2.扩展Distinct()方法,在一个静态类里面扩展Linq的原生方法,方法可写在公共库里面,写一次就可以反复调用
public static class ComparintExtensions
{
public static IEnumberable<T> DistinctBy<T>(