コレクション A: 3、2、1
コレクションB:3、4
結果の新しいコレクション: 1、2、3 (A ではなく B から)、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 を返します。
編集: ここでのトリックは、IEqualityComparer<> ではなく EqualityComparer<> を実装することでした。後者は Union によって使用されないためです。
var combined = list2.Union(list1, new MyEqualityComparer()).OrderBy(a=> a.Value);