C# IEqualityComparer 去重
1、去除list里某重复字段值的数据(相当于group by)
public class CorrController
{
//方法
public void DoGet()
{
List<test11> list_test = new List<test11>();
list_test.Add(new test11()
{
m = ,
v = "one"
});
list_test.Add(new test11()
{
m = ,
v = "two"
});
list_test.Add(new test11()
{
m = ,
v = "three"
});
list_test.Add(new test11()
{
m = ,
v = "fornt"
});
list_test.Add(new test11()
{
m = ,
v = "fornt"
});
list_test.Add(new test11()
{
m = ,
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# IEqualityComparer 去重的更多相关文章
- IEqualityComparer 去重
1.去除list里某重复字段值的数据(相当于group by) public class CorrController { //方法 public void DoGet() { List<tes ...
- C#黔驴技巧之去重(Distinct)
前言 关于C#中默认的Distinct方法在什么情况下才能去重,这个就不用我再多讲,针对集合对象去重默认实现将不再满足,于是乎我们需要自定义实现来解决这个问题,接下来我们详细讲解几种常见去重方案,孰好 ...
- 数据去重Distinct,IEqualityComparer,IEquatable
很多情况下我们查询数据需要去重重复数据,下面就记录三个去重的方法. Distinct 最基本的去重形式,直接查询出数据后使用Distinct方法进行字段去重. var strList = new Li ...
- Linq去重 不用实现IEqualityComparer接口的方法超级简单
RskFactorRelation.Instance.GetCache<RskFactorRelation>(true).Where(x => !string.IsNullOrEmp ...
- List集合去重的一种方法
前一段时间们需要对一个List<Model>集合去重,情况是该集合中会出现多个Name属性值相同的,但是其他属性值不同的数据. 在这种情况下,需求要只保留其中一个就好. 我觉得遍历和Has ...
- List对象去重
public class User { public int Id { get; set; } public string Name { get; set; } } public class User ...
- List集合去重的一种方法 z
需要对一个List<Model>集合去重,情况是该集合中会出现多个Name属性值相同的,但是其他属性值不同的数据. 在这种情况下,需求要只保留其中一个就好. 我觉得遍历和HashSet都不 ...
- list集合中指定字段去重
在开发中,有时会需要指定字段去重,以下为实现方法: 假设有个房地产权的类,其中宗地代码ZDDM值重复,而我们在前端页面显示时,只需要一条数据,因为公共字段都一样: IEqualityComparer需 ...
- 【C#】详解使用Enumerable.Distinct方法去重
Enumerable.Distinct 方法 是常用的LINQ扩展方法,属于System.Linq的Enumerable方法,可用于去除数组.集合中的重复元素,还可以自定义去重的规则. 有两个重载方法 ...
随机推荐
- 【DL】几种参数优化方法的比较
https://zhuanlan.zhihu.com/p/22252270 结尾的两张图不能更赞. PS:在用lstm做文本分类的时候,加了L2正则,把optim方法由之前的SGD换成Adam,效果提 ...
- Asp.net mvc怎么在razor里写js代码
我试图在Razor里写JS代码,但是不行 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 3 ...
- 【百度地图API】制作多途经点的线路导航——路线坐标规划
一.创建地图 首先要告诉大家的是,API1.2版本取消密钥,取消服务设置,大家可以采用更加简短的方式引用API的JS啦~ <script type="text/javascript&q ...
- Java开发者需要学习的移动开发编程语言
编程语言(programming language),是用来定义计算机程序的形式语言.它是一种被标准化的交流技巧,用来向计算机发出指令.一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精 ...
- A股最新的自由现金流和折现估值查询
A股最新的自由现金流折现估值,利用自由现金流折现的经典公式,采用 8%.9%.10%.11%.12%.15% 等贴现率来进行估值. SH600000:浦发银行的最新自由现金流和折现估值模型: 浦发银行 ...
- docker machine介绍和使用
https://www.cnblogs.com/sparkdev/p/7044950.html https://www.jianshu.com/p/cc3bb8797d3b
- 使用pycharm,追求最优的代码。
1.最近追求的是代码0警告,没有任何提示. 怎么追求这样的目标,不需要再去单独使用pylint和flake8这些玩意,只需要看pycharm右边编辑区的竖向滚动条的黄色就可以了. 2. 比较糟糕的就是 ...
- PHP 免费获取手机号码归属地
一.淘宝网API API地址: http://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=15850781443 参数: tel:手机号码 返回 ...
- iOS Runloop的超级讲解
这是目前看过的最好的一片中文讲解RunLoop的文章,推荐给大家看一下,原文链接:http://blog.ibireme.com/2015/05/18/runloop/ https://segment ...
- RF变量列表类型@{}和${}列表类型的关系
总结:@{}列表类型和${}列表类型都可以表示list类型,均可以通过 set variable 和 create list 创建,区别主要是展示格式和引用格式: @{}类型可以通过 set vari ...