C# IEqualityComparer 去重
2016-11-18 13:54
363 查看
1、去除list里某重复字段值的数据(相当于group by)
执行Distinct前有6条数据:
执行Distinct后有4条数据:
public class CorrController { //方法 public void DoGet() { List<test11> list_test = new List<test11>(); list_test.Add(new test11() { m = 1, v = "one" }); list_test.Add(new test11() { m = 2, v = "two" }); list_test.Add(new test11() { m = 3, v = "three" }); list_test.Add(new test11() { m = 4, v = "fornt" }); list_test.Add(new test11() { m = 4, v = "fornt" }); list_test.Add(new test11() { m = 3, v = "fornt" }); var ss = list_test.Distinct(new Comparint());//这里调用 } } //model public class test11 { public int m { get; set; } public string v { get; set; } } // public class Comparint : IEqualityComparer<test11> { public bool Equals(test11 x, test11 y) { if (x == null && y == null) return false; return x.m == y.m; } public int GetHashCode(test11 obj) { return obj.ToString().GetHashCode(); } }
执行Distinct前有6条数据:
执行Distinct后有4条数据:
相关文章推荐
- C#实现 Linq 序列的Distinct—— IEnumerable<T>.Distinct<T>()——IEqualityComparer
- c#List结合IEqualityComparer求交集
- C# IEqualityComparer
- 使用 IEqualityComparer来过滤PagedCollectionView里的重复数据
- 用泛型的IEqualityComparer<T>接口去重复项
- LinqToEntities:Union IEqualityComparer
- C#学习笔记 IEquatable<T> 接口 IEqualityComparer<T> 接口
- [深入学习C#]——IEqualityComparer<T>中GetHashCode的作用
- 比较IComparer,IComparable,IEqualityComparer,IEquatable之深入接口
- IEqualityComparer<T> VS System.IEquatable<T>
- IEqualityComparer for Linq Distinct() 通用类
- C# GetHashCode in the IEqualityComparer<T> in .NET
- 败给了IEqualityComparer
- 快速创建 IEqualityComparer<T> 和 IComparer<T> 的实例
- IEqualityComparer的使用
- Distinct<TSource>(IEqualityComparer<TSource> comparer) 根据列名来Distinct
- LINQ Distinct without IEqualityComparer
- 用泛型的IEqualityComparer接口去重复项 .
- 快速创建 IEqualityComparer 实例:改进
- C#读取IE的Cache(转)