重複する要素、含む、または含まない要素を取得する
2つのListから積集合(共通部分)のListを取得する
List<int> list1 = new List<int> { 1, 2, 3, 4, 5, 6, 7 };
List<int> list2 = new List<int> { 3, 4, 5, 6, 7, 8, 9 };
// Intersection
List<int> intersection = list1.Intersect(list2).ToList();
// 3,4,5,6,7
2つのListから差集合のListを取得する
List difference1 = list1.Except(list2).ToList();
list1でlist2に含まれない要素
List<int> list1 = new List<int> { 1, 2, 3, 4, 5, 6, 7 };
List<int> list2 = new List<int> { 3, 4, 5, 6, 7, 8, 9 };
// Difference
List<int> difference1 = list1.Except(list2).ToList(); // list1 - list2
// 1,2
List<int> difference2 = list2.Except(list1).ToList(); // list2 - list1
// 8,9