/// <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 });

最新文章

  1. 编译protobuf的jar文件
  2. 使用KRPano资源分析工具还原全景图片
  3. Pyqt+QRcode 生成 识别 二维码
  4. 《我爱背单词》 Alpha版 发布说明
  5. ansible 简单使用
  6. 简述jpg。Gif。png-8.png-24的区别,分别使用场景
  7. 关于C++的递归调用(n的阶乘为例)
  8. java 22 - 21 多线程之多线程的代码实现方式3
  9. TYVJ P1093 验证数独 Label:none
  10. FlyCapture2 Qt5 MinGW Configuration
  11. javascript,css3加载动画
  12. sql update小结
  13. GridView使用技巧
  14. 微服务架构下的API网关
  15. 1068. Find More Coins (30)
  16. Vue 学习(1)
  17. openstack Q版部署-----安装报错问题
  18. Mustache应用——渲染二级菜单
  19. WPF捕获全局未处理异常
  20. EOJ Monthly 2019.2 (based on February Selection) D 进制转换 【数学 进制转换】

热门文章

  1. plus.zip.compressImage 压缩报错{&quot;code&quot;:-5,&quot;message&quot;:&quot;输出图片失败&quot;}
  2. QT 自定义消息
  3. 【NetDevops】网络自动化运维--1获取用户基本信息
  4. PCA人脸识别学习笔记---原理篇
  5. 005-log-slf4j
  6. 图解 HTTP 笔记(二)——简单的 HTTP 协议
  7. org/springframework/cache/jcache/config/AbstractJCacheConfiguration.class
  8. python-Web-flask-路由和视图
  9. manjaro 给笔记本安装18.1系统时发现中文变成了方块字
  10. c++学习笔记_6