集合 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<>,因为 Union 不使用后者。
var combined = list2.Union(list1, new MyEqualityComparer()).OrderBy(a=> a.Value);