博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
比对两个同类型的List
阅读量:5261 次
发布时间:2019-06-14

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

比对两个List中的数据  1 List
ListA= new List
() 2 { 3 new Person(){ SerialNumber = "1", AccountNumber = "111"}, 4 new Person(){ SerialNumber = "2", AccountNumber = "222"}, 5 new Person(){ SerialNumber = "3", AccountNumber = "333"}, 6 new Person(){ SerialNumber = "4", AccountNumber = "444"}, 7 new Person(){ SerialNumber = "5", AccountNumber = "555"}, 8 }; 9 List
ListB = new List
()10 {11 new Person(){ SerialNumber = "1", AccountNumber = "111"},12 new Person(){ SerialNumber = "5", AccountNumber = "BBB555"}, 13 new Person(){ SerialNumber = "333", AccountNumber = "333"},14 new Person(){ SerialNumber = "2", AccountNumber = "BB222"},15 new Person(){ SerialNumber = "444", AccountNumber = "BBB444"}, 16 };17 18 //ListA中存在 ListB不存在19 var result1 = ListA.Union(ListB, new MyComparer())20            .Except(ListB, new MyComparer())21            .Cast
().ToList(); 22 //ListA中不存在 ListB存在23 var result2 = ListA.Union(ListB, new MyComparer())24            .Except(GapExpenseList, new MyComparer())25            .Cast
().ToList();26 //ListA和ListB都存在 ListA的数据27 var result3 = ListA.Intersect(ListB, new MyComparer()).Cast
().ToList();29 30 //ListA和ListB都存在 ListB的数据31 var result4 = ListB.Intersect(ListA, new MyComparer()).Cast
().ToList();

 

再写一个Compare类

1 public class MyComparer : IEqualityComparer
2 { 3 public bool Equals(ExceptionCompare x, ExceptionCompare y) 4 { 5   return x.SerialNumber == y.SerialNumber; 6 } 7 8 public int GetHashCode(ExceptionCompare obj) 9 {10   return obj.SerialNumber.GetHashCode();11 } 12 }

 

转载于:https://www.cnblogs.com/zhangddleon/p/3305944.html

你可能感兴趣的文章
python作用域和名称空间
查看>>
java 多线程
查看>>
关于mysql的索引原理与慢查询优化
查看>>
Java源码学习备份
查看>>
ComboBox相关操作
查看>>
第六章 第一个嵌入式Linux驱动程序 统计单词个数 心得体会
查看>>
c++开发规范
查看>>
日期时间处理类
查看>>
Centos安装wine等组件的问题
查看>>
No module named 'flask_sqlalchemy'
查看>>
Android中,如何提升Layout的性能?
查看>>
HNOI2019 游记
查看>>
服务器上Tomcat启动慢的问题
查看>>
php7新特性
查看>>
hdu5304 基环 外向树
查看>>
爬虫制作入门学习笔记2:[转]python爬虫实例项目大全
查看>>
Eclipse删包错误
查看>>
ubuntu14.04系统安装、NVIDIA显卡驱动安装及CUDA8.0、Cudnn5.1的环境搭建
查看>>
beyond compare ftp 文件夹同步
查看>>
在Tomcat配置JNDI数据源的三种方式
查看>>