以下のメソッドを実行してみた。
- Unionメソッド
- Concatメソッド
- Intersectメソッド
List<int> list1 = new List<int>() { 1, 2, 3, 4, 3, 2, 1 }; List<int> list2 = new List<int>() { 3, 4, 5, 6, 5, 4, 3 }; Console.WriteLine(string.Join(",", list1.Concat(list2).Select(n => n.ToString()).ToArray())); //1,2,3,4,3,2,1,3,4,5,6,5,4,3 Console.WriteLine(string.Join(",", list1.Union(list2).Select(n => n.ToString()).ToArray())); //3,4 Console.WriteLine(string.Join(",", list1.Intersect(list2).Select(n => n.ToString()).ToArray())); //1,2,3,4,5,6
うむ、おおむね予想通り。
順序関係とかは、先に存在した位置を優先してそのままになるようだ。へー。