收集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);
答案 0 :(得分:2)
这个怎么样:
var C = A.Union(B).OrderBy(i => i);