linq 和 , 并 , 差 ,交

 

 

假如: A = […….], B = [….]

A 并 B = 全部     linq : a.union(b)

 

A 交 B = 中间那块    linq: a.Intersect(b)

 

A 差 B  = A 少个口   linq : a.Except(b)

 

B 差 A  = B 少个口  linq: b.Except(a)

 

我记得这个个好像是初中或高中的知识来着。

http://zh.wikipedia.org/zh/%E9%9B%86%E5%90%88_(%E6%95%B0%E5%AD%A6)

 

            var x = new[] { 1, 2, 3 };
            var y = new[] { 1, 2, 4 };

            var z = x.Intersect(y).ToArray(); // {1,2}  x ∩ y

            var z1 = x.Union(y).ToArray(); // {1,2,3,4}  x ∪ y

            var z2 = x.Except(z).ToArray(); //{3}   x - y

            var z3 = y.Except(z).ToArray(); //{4}   y-x

            var z4 = z2.Union(z3).ToArray(); //{3,4} A△B
时间: 2024-11-05 14:39:26

linq 和 , 并 , 差 ,交的相关文章

java集合框架22

思想:在面向对象的思想里,一种数据结构被认为是一种容器.在本质上来讲是一个类,提供方法支持查找,插入和删除等等操作. Java集合框架支持以下俩种类型的容器: 存储一个元素集合,简称为集合Collection 存储键值对,称为图Map 集合collection 三种主要类型 : 规则集(set) , 线型表(List) , 队列(Queue) set: 存储一组不重复的数据 List: 存储由元素构成的有序集合 Queue: 存储先进先出方式处理的对象 细说Collection接口: 它是处理对

数据库相关

[数据库系统概述]常用的数据库有MySql.oracle等.不同数据库都支持sql标准,并且不同数据库在sql标准的基础上进行了一些扩充.对于数据库的学习包括:sql>过程.触发器等内容,其中重要程度如下:sql>过程.触发器等oracle数据库: 1.oracle的开发部分,包含两个部分:sql+plsql编程 2.oracle管理部分,数据库配置和运行维护[oracle简介]oracle默认有sys和system两个用户,其中 sys: 超级管理员,拥有操作数据库的所有权限 system:

Swift基础语法学习总结(一)

1.基础 1.1) swift还是使用// 和/* */ 来注释,并且/* */允许多行注释. 1.2) swift使用print和println打印,它的传参是一个泛型,几乎所有类型都是可打印的. 1.3) swift在语句后面加分号与否都是正确的,但是swift偏好的风格是不在结尾处加分号的.如果有多个语句,必须用分号隔开. 1.4) 在一个数字中庸下划线(_)会被忽视,方便认出大数值的的数字,也可以在前面补零. 1.5) swift不允许在不同种类型间做加减乘除,要先做类型转换或运算符重载

Swift基础语法学习总结一

1.基础 1.1) swift还是使用// 和/* */ 来注释,并且/* */允许多行注释. 1.2) swift使用print和println打印,它的传参是一个泛型,几乎所有类型都是可打印的. 1.3) swift在语句后面加分号与否都是正确的,但是swift偏好的风格是不在结尾处加分号的.如果有多个语句,必须用分号隔开. 1.4) 在一个数字中庸下划线(_)会被忽视,方便认出大数值的的数字,也可以在前面补零. 1.5) swift不允许在不同种类型间做加减乘除,要先做类型转换或运算符重载

20141220羽毛球赛总结

这次比赛是菜鸟活动APP赞助举办的四系友谊赛,本来觉得参加就是去玩的,而且从水平上来说应该不会遇到太厉害的对手,所以期望还挺高.但是结果让人失望,首轮遇到机械系系队的几个同学,被淘汰掉.队友欠缺比赛经验是输球的部分原因,但是自己也有没有做好的地方,需要自己总结反思一下. 第一场混双: 第一局因为天气太冷,我还坚持不穿长袖,导致前半局完全没打开,一下子落后了五六分.后面逐渐开始发力,比分追上了一些,但是还是以几分之差交掉了. 第二局是开始打得比较好,14:1开局,后面想着给对手留点面子,最后放了一

C++ set的一些用法

set也是STL中比较常见的容器.set集合容器实现了红黑树的平衡二叉检索树的数据结构,它会自动调整二叉树的排列,把元素放到适当的位置.set容器所包含的元素的值是唯一的,集合中的元素按一定的顺序排列. 我们构造set集合的目的是为了快速的检索,不可直接去修改键值. set的一些常见操作: begin() 返回指向第一个元素的迭代器 clear() 清除所有元素 count() 返回某个值元素的个数 empty() 如果集合为空,返回true(真) end() 返回指向最后一个元素之后的迭代器,

Swift基础语法学习总结(转)

Swift基础语法学习总结 1.基础  1.1) swift还是使用// 和/* */ 来注释,并且/* */允许多行注释. 1.2) swift使用print和println打印,它的传参是一个泛型,几乎所有类型都是可打印的. 1.3) swift在语句后面加分号与否都是正确的,但是swift偏好的风格是不在结尾处加分号的.如果有多个语句,必须用分号隔开. 1.4) 在一个数字中庸下划线(_)会被忽视,方便认出大数值的的数字,也可以在前面补零. 1.5) swift不允许在不同种类型间做加减乘

【数据库系统概述】

常用的数据库有MySql.oracle等.不同数据库都支持sql标准,并且不同数据库在sql标准的基础上进行了一些扩充.对于数据库的学习包括:sql>过程.触发器等内容,其中重要程度如下:sql>过程.触发器等oracle数据库: 1.oracle的开发部分,包含两个部分:sql+plsql编程 2.oracle管理部分,数据库配置和运行维护[oracle简介]oracle默认有sys和system两个用户,其中 sys: 超级管理员,拥有操作数据库的所有权限 system:普通管理员 注意:

Swift基础语法学习总结

1.基础  1.1) swift还是使用// 和/* */ 来注释,并且/* */允许多行注释. 1.2) swift使用print和println打印,它的传参是一个泛型,几乎所有类型都是可打印的. 1.3) swift在语句后面加分号与否都是正确的,但是swift偏好的风格是不在结尾处加分号的.如果有多个语句,必须用分号隔开. 1.4) 在一个数字中庸下划线(_)会被忽视,方便认出大数值的的数字,也可以在前面补零. 1.5) swift不允许在不同种类型间做加减乘除,要先做类型转换或运算符重

[Swust OJ 632]--集合运算(set容器)

题目链接:http://acm.swust.edu.cn/problem/632/ Time limit(ms): 1000 Memory limit(kb): 65535 Description 集合的运算就是用给定的集合去指定新的集合.设A和B是集合,则它们的并差交补集分别定义如下: A∪B={x|x∈A∨x∈B} A∩B={x|x∈A∧x∈B} A – B={x|x∈A∧x不属于 B} SA ={x|x∈(A∪B)∧x 不属于A} SB ={x|x∈(A∪B)∧x 不属于B} Input