收藏答:3,2,1個如何合併,刪除重複和排序兩個集合到第三集合與LINQ
集合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 <>,NOT的IEqualityComparer <>不使用聯盟。
var combined = list2.Union(list1, new MyEqualityComparer()).OrderBy(a=> a.Value);
你有什麼 '從B,不是A' 是什麼意思? 3是3,它沒有背景故事。 – Rotem
爲了清楚起見,示例在int中。實際的序列是具有一個鍵的GUID和一個值的對象。如果guid是相同的,我需要B的值,而不是A,因爲它們會有所不同。 –