using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;/// <summary>
/// 可以根据字段过滤重复的数据
/// </summary>
/// <typeparam name="T"></typeparam>
public class Comparint<T> : IEqualityComparer<T> where T : class, new()
{private string[] comparintFiledName = { };public Comparint() { }public Comparint(params string[] comparintFiledName){this.comparintFiledName = comparintFiledName;}bool IEqualityComparer<T>.Equals(T x, T y){if (x == null && y == null){return false;}if (comparintFiledName.Length == 0){return x.Equals(y);}bool result = true;var typeX = x.GetType();//获取类型var typeY = y.GetType();foreach (var filedName in comparintFiledName){var xPropertyInfo = (from p in typeX.GetProperties() where p.Name.Equals(filedName) select p).FirstOrDefault();var yPropertyInfo = (from p in typeY.GetProperties() where p.Name.Equals(filedName) select p).FirstOrDefault();result = result&& xPropertyInfo != null && yPropertyInfo != null&& xPropertyInfo.GetValue(x, null).ToString().Equals(yPropertyInfo.GetValue(y, null));}return result;}int IEqualityComparer<T>.GetHashCode(T obj){return obj.ToString().GetHashCode();}
}

然后可以调用上面的类

例如:IList<BaseTag> listnew = list.Distinct(new Comparint<BaseTag>("BaseName")).ToList();

过滤list中 字段BaseName 相同的

过滤ilist中的重复数据相关推荐

  1. 裕-C#过滤DataTable中的空数据和重复数据

    C#过滤DataTable中的空数据和重复数据 string sql = "select name,age from user"; DataTable data = DB.Exec ...

  2. 使用pycharm去掉表格中的重复数据

    使用pycharm去掉表格中的重复数据 接下来几篇文章为复盘前段时间数据分析的随笔 如何用pycharm去掉表格中重复数据呢? 1.安装pycharm 详细安装及配置Python环境过程: https ...

  3. pandas删除数据行中的重复数据行、基于dataframe所有列删除重复行、基于特定数据列或者列的作何删除重复行、删除重复行并保留重复行中的最后一行、pandas删除所有重复行(不进行数据保留)

    pandas删除数据行中的重复数据行.基于dataframe所有列删除重复行.基于特定数据列或者列的作何删除重复行.删除重复行并保留重复行中的最后一行.pandas删除所有重复行(不进行数据保留) 目 ...

  4. java去重复的集合_如何去除Java中List集合中的重复数据

    1.循环list中的所有元素然后删除重复 public class duplicatRemoval { public static List removeDuplicate(List list){ f ...

  5. MSSQL如何在没有主键的表中删除重复数据

    MSSQL如何在没有主键的表中删除重复数据 原文:MSSQL如何在没有主键的表中删除重复数据 为了对重复数据进行实验,下面建一个设计不太好(没有主键)表并插入了一些重复数据: create datab ...

  6. Java 中ArrayList中的重复数据

    以下介绍五种-不同的方法去除 Java 中ArrayList中的重复数据 1.使用LinkedHashSet删除arraylist中的重复数据 LinkedHashSet是在一个ArrayList删除 ...

  7. 如何删除sql server中的重复数据

    如何删除sql server中的重复数据 先来看下有多少重复数据,伪代码如下: select count(重复字段)-count(distinct 重复字段) from 表名 执行这个SQL伪代码候就 ...

  8. 怎么有效地查询MySQL表中的重复数据

    在MySQL数据库中,偶尔会遇到需要查找表中出现的重复数据的情况.这种情况下,我们可以通过编写一些SQL查询语句轻松地找到并处理这些重复行.本文将介绍一些常见的方法和技巧,帮助你有效地查询MySQL表 ...

  9. 【WPS表格】标记出表中的重复数据,并新建工作表

    利用[数据对比]功能,标记出单元表中的重复数据并新建工作表: 注意:这是WPS的会员功能

最新文章

  1. (iOS)Storyboard/xib小技巧
  2. ProgressBar 各种样式
  3. python处理json数据_python处理json格式的数据
  4. Web前端笔记-element ui中table中某列添加a便签进行跳转
  5. 什么是Java中的原子操作( atomic operations)
  6. 精品 德国 软件推荐   著名的光盘烧录软件 Nero
  7. MicroBlaze AXI总线 GPIO中断使用(On Atyls Board)
  8. 【观点】Ruby优于Python之处(面向hackers)
  9. 一个简单的用于预测的BP神经网络模型
  10. IP地址的两种表示方法:整数和点分十进制
  11. i78565U和i710510U的区别 i78565U和i710510U参数配置对比哪个好
  12. AFFF3%水成膜泡沫灭火剂生产厂家分析品牌哪家好数据说明
  13. 2021年安全生产模拟考试(建筑起重机司机-物料提升机模拟考试题库)安考星
  14. 计算多列迭代次数的一种平均列近似方法
  15. Homework 1 : Knowledge items of C++ Answer (part 1)
  16. 简单快速!分享给你一款在线jpg格式转换器
  17. 使用VMware测试U盘启动盘是否制作成功
  18. CentOS联网问题(已解决)
  19. XShell传输文件(CentOS7)
  20. basler工业相机使用问题总结

热门文章

  1. 微软vs2008快捷键
  2. 一次大意引发的“大”故障
  3. 3年了,才这点工资,打死我都不相信
  4. UNIX/Linux系统取证之信息采集案例
  5. Jquery的基础学习
  6. window7梦幻桌面
  7. 合理利用Java不可变对象,让你的代码更加优雅
  8. jQuery通过event获取点击事件的事件对象
  9. 鼠标点到某个位置出现手势的效果。
  10. Hibernate知识点总结