Concat/Union/Intersect/Except操作

7 篇文章 0 订阅
本文详细介绍了.NET中的四个集合操作:Concat用于连接集合,不剔除重复项;Union则合并集合并去除重复项;Intersect找出两个集合的交集;而Except则返回第一个集合中不包含在第二个集合的元素。这些操作在数据处理和查询中非常实用。
摘要由CSDN通过智能技术生成

Concat/Union/Intersect/Except操作

适用场景:对两个集合的处理,例如追加、合并、取相同项、相交项等等。

  1 Concat(连接)

说明:连接不同的集合,不会自动过滤相同项;延迟。

1.简单形式:

var q = (from c in db.Customers

select c.Phone

).Concat(

from c in db.Customers

select c.Fax

).Concat(

from e in db.Employees

select e.HomePhone

);

语句描述:返回所有消费者和雇员的电话和传真。

2.复合形式:

var q = (

from c in db.Customers

select new

{

Name = c.CompanyName,

c.Phone

}

).Concat(

from e in db.Employees

select new

{

Name = e.FirstName + " " + e.LastName,

Phone = e.HomePhone

}

);

语句描述:返回所有消费者和雇员的姓名和电话。

2.Union(合并)

说明:连接不同的集合,自动过滤相同项;延迟。即是将两个集合进行合并操作,过滤相同的项。

var q = (

from c in db.Customers

select c.Country

).Union(

from e in db.Employees

select e.Country

);

语句描述:查询顾客和职员所在的国家。

3.Intersect(相交)

说明:取相交项;延迟。即是获取不同集合的相同项(交集)。即先遍历第一个集合,找出所有唯一的元素,然后遍历第二个集合,并将每个元素与前面找出的元素作对比,返回所有在两个集合内都出现的元素。

var q = (

from c in db.Customers

select c.Country

).Intersect (

from e in db.Employees

select e.Country

);

语句描述:查询顾客和职员同在的国家。

4.Except(与非)

说明:排除相交项;延迟。即是从某集合中删除与另一个集合中相同的项。先遍历第一个集合,找出所有唯一的元素,然后再遍历第二个集合,返回第二个集合中所有未出现在前面所得元素集合中的元素。

var q = (

from c in db.Customers

select c.Country

).Except(

from e in db.Employees

select e.Country

);

语句描述:查询顾客和职员不同的国家。

这是我所学到的一些知识,在此分享给大家,希望可以帮助到你们。

以上就是我的分享,新手上道,请多多指教。如果有更好的方法或不懂得地方欢迎在评论区教导和提问喔!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值