linq查询去重
2024-08-25 15:59:44
通过自定义扩展方法DistinctBy实现去重
public static IEnumerable<TSource> DistinctBy<TSource, TKey> (this IEnumerable<TSource> source, Func<TSource, TKey> keySelector) { HashSet<TKey> seenKeys = new HashSet<TKey>(); foreach (TSource element in source) { if (seenKeys.Add(keySelector(element))) { yield return element; } } }
方法的使用
1、针对ID,和Name进行Distinct
var
query = allProduct.DistinctBy(p =>
new
{ p.Id, p.Name });
2、仅仅针对ID进行distinct:
var
query = allProduct.DistinctBy(p => p.Id);
最新文章
- ANSYS17.0详细安装图文教程
- MyEclipse 快捷键
- spring4 mvc 出错
- Servlet 编程 简单流程处理(重定向)
- 堆的 两种实现 (数组和STL)
- C# 系统应用之通过注册表获取USB使用记录(一)
- winform C#屏幕右下角弹出消息框并自动消失
- 使用 Require.js 引用第三方框架时遇到的一些情况
- github--新手使用错误分析
- Java IO编程全解(四)——NIO编程
- win7安装python3.6.1及scrapy
- Codeforces Round #432 Div. 1
- C# 中集合类型需要按多个条件排序
- 设计模式之模板方法模式:实现可扩展性设计(Java示例)
- (转)C# 的三种序列化方法
- 补课:Shell命令${}
- js短信验证码
- java项目打成jar包使用
- 实用ExtJS教程100例-001:开天辟地的Hello World
- map的put和putIfAbsent使用
热门文章
- python常用内建函数
- nodeJS(2)深了解: nodeJS 项目架构详解(app.js + Express + Http)
- Java EE 学习(8):IDEA + maven + spring 搭建 web(4)- 用户管理
- JavaScript 笔记(2) -- 类型转换 &; 正则表达 &; 变量提升 &; 表单验证
- 股票交易(bzoj 1855)
- Bzoj1974 [Sdoi2010]auction 代码拍卖会
- 局部a链接样式
- uva 1611:Crane(构造 Grade D)
- 广州地区常用的DNS解析服务器
- Codeforces Gym101502 E.The Architect Omar-find()函数