Linq 集合操作符 Except,Intersect,Union

时间:2021-10-19 01:07:03
 
                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("----------------------------");

Linq 集合操作符 Except,Intersect,Union的更多相关文章

  1. Linq集合操作之Intersect&comma;Except&comma;Union源码分析

    Linq集合操作之Intersect,Except,Union源码分析 linq的集合运算 常见的集合运算有哪些? 这三个扩展方法在我们实际使用中用的还是非常多的,而且这里还涉及到了“复杂度” 无算法 ...

  2. Oracle SQL Lesson &lpar;8&rpar; - 使用集合操作符&lpar;Union&comma;Intersect&comma;Minus&rpar;

    集合操作符UNION/UNION ALLINTERSECTMINUS Union All不排序,不去重,其余均升序且去重.create table e1 as select * from emp wh ...

  3. 集合操作符 Union &sol; Union All &sol; Intersect &sol; Minus

    集合操作符 Union / UnionAll / Intersect / Minus -- 生成测试数据 create table dept_01 as select * from dept wher ...

  4. LINQ系列:Linq to Object集合操作符

    集合操作符对元素的集合或序列集合进行操作,并返回一个集合.LINQ共有4种集合查询操作符:Distinct.Union.Intersect和Except. 1. Distinct Distinct操作 ...

  5. SQLSERVER数据集合的交、并、差集运算&lpar;intersect&comma;union&comma;except&rpar;

    SQLServer中通过intersect,union,except和三个关键字对应交.并.差三种集合运算. 他们的对应关系可以参考下面图示 测试示例: 构造A,B两个数据集 A:,,, B:,, W ...

  6. LINQ查询操作符 LINQ学习第二篇&lbrack;转&rsqb;

    一.投影操作符 1. Select Select操作符对单个序列或集合中的值进行投影.下面的示例中使用select从序列中返回Employee表的所有列: using (NorthwindDataCo ...

  7. LINQ查询操作符 LINQ学习第二篇

    一.投影操作符 1. Select Select操作符对单个序列或集合中的值进行投影.下面的示例中使用select从序列中返回Employee表的所有列: using (NorthwindDataCo ...

  8. &period;NET 3&period;5&lpar;5&rpar; - LINQ查询操作符之Select、Where、OrderBy、OrderByDescending

    .NET 3.5(5) - LINQ查询操作符之Select.Where.OrderBy.OrderByDescending 介绍    ·Select - Select选择:延迟    ·Where ...

  9. Linq 集合操作

    Linq 集合操作 演示代码 两个对象一个是Person,一个Address, AddressId是外键, public class Person { public string ID { get; ...

随机推荐

  1. mysql 有报错  ERROR&excl; MySQL is not running&comma; but lock file &lpar;&sol;var&sol;lock&sol;subsys&sol;mysql&rpar; exists

    sh-4.1# /etc/init.d/mysqld status ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql ...

  2. JS获取汉字首字母

    //获取 汉字首字母 function makePy(str) { if (typeof (str) != "string") throw new Error(-1, " ...

  3. poj 1986

    Distance Queries Time Limit: 2000MS   Memory Limit: 30000K Total Submissions: 8638   Accepted: 3032 ...

  4. Linux 的进程组、会话、守护进程

    一.进程组ID 每个进程都属于一个进程组.每个进程组有一个领头进程.进程组是一个或多个进程的集合,通常它们与一组作业相关联,可以接受来自同一终端的各种信号.每个进程组都有唯一的进程组ID(整数,也可以 ...

  5. SQL参数化

    本文来自:caodonglin 一.SQL参数化为什么能防注入? 因为执行计划被重用了,所以可以防SQL注入. 下面有两段SQL     正常SQL: 1 select COUNT(1) from C ...

  6. python语法&lowbar;内置函数

    a = filter(函数名,序列) 返回一个迭代器对象/.函数里必须加过滤条件 ret = ['a','b','c','d','e'] def ft(s): if s != 'a': return ...

  7. 高斯消元与期望DP

    高斯消元可以解决一系列DP序混乱的无向图上(期望)DP DP序 DP序是一道DP的所有状态的一个排列,使状态x所需的所有前置状态都位于状态x前: (通俗的说,在一个状态转移方程中‘=’左侧的状态应该在 ...

  8. 【BZOJ1449&amp&semi;&amp&semi;2895】球队预算 &lbrack;费用流&rsqb;

    球队预算 Time Limit: 10 Sec  Memory Limit: 256 MB[Submit][Status][Discuss] Description 在一个篮球联赛里,有n支球队, 球 ...

  9. windows 短文件名&sol;短路径名规则

    How Windows Generates 8.3 File Names from Long File Names Windows generates short file names from lo ...

  10. 解决使用Qt creator时出现Cannot overwrite file &period;&period;Permission denied

    前两天在linux下使用Qt creator, 切换到了管理员使用了Qt creator后,再切换为普通用户,发现出现了 Cannot overwrite file ..Permission deni ...