泛型聚合 合并Union / Concat / Except / Contains赞

原文出处: http://www.myexception.cn/c-sharp/578147.html

泛型集合 合并
List<int> a = new List<int>{0,3,7,2,1,4,8,8} 注: a 没有数字 9、5、6
List<int> num = new List<int>{0,5,6,9}

使用 List<int> Result = a.Union(num).ToList();

得到的结果是,虽然是在 a 添加了原先没有的 9、5、6,但是剔除了a 重复的元素

如何在 保留 a 原有元素的基础上,添加新的元素 9,5,6 ?
------解决方案--------------------
List<int> Result = a.Concat(num.Except(a)).ToList();

------解决方案--------------------

//连接a和num,不踢出重复元素,结果result共有30个
List<int> result = a.Concat(num).ToList();

//这种是在在保持a不变的情况下添加a在num没有的元素,即9,6;结果result1共有23个元素
List<int> result1 = a.Concat(num.Where(c => !a.Contains(c)).ToList()).ToList();

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...