繁体   English   中英

在C#中处理列表联合与重复

[英]Handle Union of List in C# with duplicates

我试图了解如何处理两个可能有重复的列表的联合或合并。 例如,List1具有{A,B,C},List2具有{B,C,D}。 我试图使用Union操作并得到一个带有值(A,B,C,D)的新列表。但是,我需要第二个列表中的B&C值,而不是第一个。有没有办法指定联合方法,重复使用的值。

我现在使用的代码是

var newList = List1.Union<Object>(List2).ToList();

谢谢你的帮助。 Javid

Union在逻辑上是一个集合操作。 Concat是您正在寻找的。

List1.Concat(List2)

你能做到:

var newList = List2.Union<Object>(List1).ToList(); 

..因为扭转他们可能会给你你需要的?

编辑:

这显然不起作用。 对不起,我没有测试过,这只是对问题的第一反应。

怎么样,使用上面的反转符号,然后调用List.Sort()让它们按你想要的顺序返回? 它假定您有一个可以订购的属性,但如果有人没有提出更优雅的解决方案,您甚至可以创造一个属性。

你有没有尝试过

var newList = List2.Union<Object>(List1).ToList();

你可以看一下Join你的清单。 在该操作之后,您将拥有每个副本的“连接”对象以进行检查...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM