两个数组,取其差集,用Linq做比较方便,效率也比较高,具体如下示例
有两个数组list1 和list2 ,如下
List<int> list1 = new List<int>();
list1.Add(1);
list1.Add(2);
list1.Add(3);
List<int> list2 = new List<int>();
list2.Add(1);
list2.Add(2);
list2.Add(3);
list2.Add(4);
list2.Add(5);
然后做差集计算
List<int> list3 = list2.Except(list1).ToList();
此时的list3就是 包含在list2中的元素 但不包含在 list1中的元素,一句话搞定。
当然,Linq还可以取交集,并集
交集的关键字:Intersect
如:List<int> list3 = list2.Intersect(list1).ToList();
并集的关键字:Union
如:List<int> list3 = list2.Union(list1).ToList();