如何组合,删除重复项,并使用linq将两个集合排序到第三个集合中

时间:2013-06-02 11:59:24

标签: linq

收集A:3,2,1

收集B:3,4

结果新收集:1,2,3(来自B,不是A),4

为了更清楚,这里有一个更详细的例子:

MyCustomClass[] list1 = { new MyCustomClass(3, "A"), new MyCustomClass(2, "B"), new MyCustomClass(1, "C") };


MyCustomClass[] list2 = { new MyCustomClass(3, "AA"), new MyCustomClass(5, "D") };

该列表应返回: 1C,2B,3AA,5D

修改  这里的技巧是实现EqualityComparer<>,而不是IEqualityComparer<>因为后者不被联盟使用。

var combined = list2.Union(list1, new MyEqualityComparer()).OrderBy(a=> a.Value);

1 个答案:

答案 0 :(得分:2)

这个怎么样:

var C = A.Union(B).OrderBy(i => i);