博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
根据字段过滤重复的数据 - 泛型 [C#]
阅读量:6082 次
发布时间:2019-06-20

本文共 1744 字,大约阅读时间需要 5 分钟。

根据字段过滤重复数据

 

using System.Collections.Generic;using System.Linq;namespace KanChang.Util{    ///     /// 版 本 1.0.0.0    /// Copyright (c) 2012-2017 张刊    /// CLR版本:4.0.30319.42000    /// 创建人:张刊 (kan.zhang-cn@hotmail.com)    /// 描 述:可以根据字段过滤重复的数据      ///     public class Comparint
: IEqualityComparer
where T : class, new() { private string[] comparintFiledName = { }; public Comparint() { } public Comparint(params string[] comparintFiledName) { this.comparintFiledName = comparintFiledName; } bool IEqualityComparer
.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
.GetHashCode(T obj) { return obj.ToString().GetHashCode(); } }}

 

转载于:https://www.cnblogs.com/zhangkan/p/7594865.html

你可能感兴趣的文章
flask权限管理
查看>>
Meteor全栈开发平台 - 不仅仅是前端
查看>>
苹果移除openssl头文件
查看>>
前端碎片知识储备
查看>>
Redisson 成为 GitHub 里星星最多的 Redis Java 客户端
查看>>
C缺陷与陷阱(C Traps and Pitfalls)学习笔记
查看>>
strtr+array_combine实现简单的敏感词过滤
查看>>
域名注册商 GoDaddy 被指悄悄在托管网站页面植入脚本
查看>>
微服务架构 - 巧妙获取被墙的Docker镜像
查看>>
java EasyExcel集成及工具类使用
查看>>
服务器故障,报警声介绍
查看>>
生鲜电商“朴朴超市”完成B1轮5500万美元融资,平均送达用时24min ...
查看>>
5G商用道阻且长,加快其进程的最佳路径是什么?
查看>>
HTA免杀
查看>>
【视频分析】大规模机器学习在爱奇艺视频分析理解中的实践
查看>>
如何用纯 CSS 创作锡纸撕开的文字效果
查看>>
服务器禁ping的好处和坏处是什么
查看>>
怎么规划一个零基础学习Unity3D的“方法”或者“流程”?
查看>>
RecyclerView完全解析
查看>>
东南亚科技公司BLUE Mobile完成C轮融资,蚂蚁金服领投、愉悦资本跟投
查看>>