用Linq取两个数组的差集

两个数组,取其差集,用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();

 

posted @ 2015-02-12 11:55  追你追到  阅读(1514)  评论(0编辑  收藏  举报