1. 交集
(1)取交集
List 1 : { 1 , 2 , 3 , 5 , 9 }
List 2 : { 4 , 3 , 9 }
var intersectedList = list1.Intersect(list2).ToList();
结果 : { 3 , 9 }
(2)判断是否有交集
bool isIntersected = list1.Intersect(list2).Count() > 0
2. 差集
(1)取差集
List 1 : { 1 , 2 , 3 , 5 , 9 }
List 2 : { 4 , 3 , 9 }
var expectedList = list1.Except(list2).ToList();
结果 : { 1 , 2 , 5 }
(2)判断是否有差集
bool isExpected = list1.Expect(list2).Count() > 0
3. 并集
(1)取并集
List 1 : { 1 , 2 , 3 , 5 , 9 }
List 2 : { 4 , 3 , 9 }
var unionList = list1.Union(list2).ToList();
结果 : { 1 , 2 , 3 , 5 ,9 , 4 }
如果把
unionList = list1.Union(list2).ToList();
换成
unionList = list1.Concat(list2).ToList();
或
list1.AddRange(list2);
unionList .AddRange(list1);
则将会保留重复项
结果 : { 1 , 2 , 3 , 5 , 9 , 4 , 3 , 9 }