用于Linq的去重 Distinct
2024-09-05 06:33:46
/// <summary>
/// 用于Linq的去重,扩展方法需要放到静态类中
/// </summary>
/// <typeparam name="TSource"></typeparam>
/// <typeparam name="TKey"></typeparam>
/// <param name="source"></param>
/// <param name="keySelector"></param>
/// <returns></returns>
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;
}
}
}
调用方法:
list.DistinctBy(tmp => new { tmp.CountryName, tmp.VisaTypeName });
最新文章
- 编译protobuf的jar文件
- 使用KRPano资源分析工具还原全景图片
- Pyqt+QRcode 生成 识别 二维码
- 《我爱背单词》 Alpha版 发布说明
- ansible 简单使用
- 简述jpg。Gif。png-8.png-24的区别,分别使用场景
- 关于C++的递归调用(n的阶乘为例)
- java 22 - 21 多线程之多线程的代码实现方式3
- TYVJ P1093 验证数独 Label:none
- FlyCapture2 Qt5 MinGW Configuration
- javascript,css3加载动画
- sql update小结
- GridView使用技巧
- 微服务架构下的API网关
- 1068. Find More Coins (30)
- Vue 学习(1)
- openstack Q版部署-----安装报错问题
- Mustache应用——渲染二级菜单
- WPF捕获全局未处理异常
- EOJ Monthly 2019.2 (based on February Selection) D 进制转换 【数学 进制转换】
热门文章
- plus.zip.compressImage 压缩报错{";code";:-5,";message";:";输出图片失败";}
- QT 自定义消息
- 【NetDevops】网络自动化运维--1获取用户基本信息
- PCA人脸识别学习笔记---原理篇
- 005-log-slf4j
- 图解 HTTP 笔记(二)——简单的 HTTP 协议
- org/springframework/cache/jcache/config/AbstractJCacheConfiguration.class
- python-Web-flask-路由和视图
- manjaro 给笔记本安装18.1系统时发现中文变成了方块字
- c++学习笔记_6