Linq 集合操作符 Except,Intersect,Union

 
                IList<string> s1 = new List<string>() { "One", "Two", "Three", "Two", "Three", "wjire" };
                IList<string> s2 = new List<string>() { "www", "Tssswo", "Three" };
                //从 s1 中删除 s1,s2 都有的元素,同时,会按照数据类型的默认比较方式去重;
          //如果,该数据元素实现了 IEquatable<T> 接口,优先从按该接口实现的 Equals 方法去重;
          //当然,也可以向好多其他筛选方法一样,传一个 实现 IEqualityCompare<T> 的对象,这种方式的优先级最高.
var r1 = s1.Except(s2);//one,two,wjire (虽然 s1 有两个 two 但是,结果集合只有1个. r1.ToList().ForEach(f => Console.WriteLine(f)); Console.WriteLine("----------------------------"); //返回s1,s2的交集,同样,也会按要求去重 var r2 = s1.Intersect(s2); r2.ToList().ForEach(f => Console.WriteLine(f)); Console.WriteLine("----------------------------"); //返回s1,s2的并集,同样,也会按要求去重 var r3 = s1.Union(s2); r3.ToList().ForEach(f => Console.WriteLine(f)); Console.WriteLine("----------------------------");

 

转载于:https://www.cnblogs.com/refuge/p/8158105.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值