求2个集合的差集
2015-06-16 11:27
351 查看
/// <summary> /// 求2个集合的差集 /// </summary> public class wage { public static void Test() { List<wage> list1 = new List<wage> { new wage { Id = 1, Name = "list1" }, new wage { Id = 2, Name = "list1" }, new wage { Id = 3, Name = "list1" }, new wage { Id = 5, Name = "list1" }, new wage { Id = 6, Name = "list1" } }; List<wage> list2 = new List<wage> { new wage { Id = 1, Name = "list2", }, new wage { Id = 2, Name = "list2", }, new wage { Id = 3, Name = "list2", }, new wage { Id = 4, Name = "list2", }, new wage { Id = 5, Name = "list2", } }; ////var union = list1.Union(list2, new MyComparer()).ToList(); ////var intersect = list1.Intersect(list2, new MyComparer()).ToList(); ////var except = union.Except(intersect, new MyComparer()).ToList(); var result = list1.Union(list2, new MyComparer()).Except(list1.Intersect(list2, new MyComparer()), new MyComparer()); foreach (var item in result) { Console.WriteLine("id = {0}, name = {1}", item.Id, item.Name); } } public int Id { set; get; } public string Name { set; get; } public class MyComparer : IEqualityComparer<wage> { public bool Equals(wage x, wage y) { return x.Id == y.Id; } public int GetHashCode(wage obj) { return obj.Id; } } }
相关文章推荐
- Theano2.1.5-基础知识之打印出theano的图
- java反射详解
- xtrabakup简介和安装可能出现的问题
- Android自定义控件(状态提示图表) (转)
- ntohs之类的字节序转换
- Fragment.setArguments()的初衷。
- Java Dom4j操作XML
- Ubuntu14.04下如何配置固定IP
- Activity四种启动模式2
- I帧,P帧,B帧 压缩率对比
- SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
- 在WAMP中添加其它PHP版本
- [C/CPP系列知识] 在C中使用没有声明的函数时将发生什么 What happens when a function is called before its declaration in C
- VB中 MSComm控件使用详解
- oracle 基本操作练习——简单的sql语句
- Activity四种启动模式1
- Redhat下配置文件的不可见字符导致tomcat无法启动
- Git使用技巧(整理)一
- [转载]WinForm窗体间传值的方法
- C++11变长模板解析(深入理解C++11)