首页 > 其他 > 详细

对List取交集、联集及差集

时间:2014-01-20 19:32:36      阅读:345      评论:0      收藏:0      [点我收藏+]

1.  取交集 (A和B都有)
List A : { 1 , 2 , 3 , 5 , 9 }
List B : { 4 , 3 , 9 }
   var intersectedList = list1.Intersect(list2); 
   結果 : { 3 , 9 }

判斷A和B是否有交集
  boolean isIntersected = list1.Intersect(list2).Count() > 0

2. 取差集 (A有,B沒有)
List A : { 1 , 2 , 3 , 5 , 9 }
List B : { 4 , 3 , 9 }
    var expectedList = list1.Except(list2); 
   结果: { 1 , 2 , 5 }

判断A和B是否有差集
   boolean isExpected = list1.Expect(list2).Count() > 0

3.  取联集 (包含A和B)
List A : { 1 , 2 , 3 , 5 , 9 }
List B : { 4 , 3 , 9 }

01 public static class ListExtensions
02 {
03        public static List<T> Merge<T>(this List<T> source, List<T> target)
04        {
05            List<T> mergedList = new List<T>(source);
06            mergedList.AddRange(target.Except(source));
07            return mergedList;
08        }
09 }
10  
11 var mergedList = list1.Merge(list2);
12 //結果 : { 1 , 2 , 3 , 5 ,9 , 4 }

对List取交集、联集及差集

原文:http://www.cnblogs.com/AllUserBegin/p/3526740.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!