Linq专题之查询操作

  前面我们主要讲解的是Linq的查询表达式,Linq不但提供了一些基本的查询表达式,还提供了数十个查询操作。比如筛选操作、聚合操作、投影操作等等。通过这些查询操作可以更方便的对数据源进行处理。

  Linq提供了数十个查询操作,大多数的操作都是针对实现了IQueryable<T>和IEnumerbale<T>接口的序列。

 

序号     查询操作           对应的查询表达式                 说明                                                                                                                                          
1Aggregate                                                                                 自定义的聚合运算
2All 检测序列中的所有元素是否都满足指定条件
3Any 检测序列中是否存在满足指定条件的元素
4Average 计算序列中所有元素的平均值
5Cast 将序列中的元素类型转换成指定的类型
6Contact 将一个序列的元素全部追加到另一个序列,并构成一个新的序列
7Contains 检测序列中是否存在指定的元素
8Count 计算序列中的所有元素的个数或者计算满足一定条件的元素的个数
9DefaultIfEmpty 返回IEnumerable<T>类型的序列,如果序列为空,则返回只包含一个元素的序列(值为默认值或者指定的值)
10Distinct 可将数据源中重复的元素去除返回一个新序列,还可以指定一个比较器来比较两个元素是否相等
11 Element                          返回集合中指定索引处的元素
12ElementAtOrDefault 返回集合中指定索引处的元素,如果索引超出范围则返回默认值
13Empty 返回IEnumerable<T>类型的空序列
14EqualAll/SequenceEqual 判断两个序列是否相等
15Except 计算两个集合的差集(由属于一个集合而不属于另一个集合的元素组成的集合)
16First 返回集合的第一个元素或者返回满足条件的第一个元素
17FirstOrDefault 返回集合的第一个元素或者返回满足条件的第一个元素,如果不存在满足条件的元素则返回默认值。
18GroupByGroup子句对序列中的元素进行分组
19GroupJoinJoin子句

产生分层数据结构,将第一个序列中的所有元素与第二个序列中的相关元素做匹配,在查询结果中,第一个集合中的元素都会出现,如果第一个序列中元素与第二个序列中的相关元素

匹配,则使用找到的元素否则为空

20Intersect 可以计算两个集合的交集,即新集合中的元素既存在与第一个集合也存在与第二个集合
21JoinJoin子句和sqlserver中inner join类似,要求元素的联接关系必须同时满足被联接的两个数据源
22Last 返回集合的最后一个元素,或者返回满足指定条件的最后一个元素
23LastOrDefault 返回集合的最后一个元素,或者返回满足指定条件的最后一个元素,如果不存在该元素,返回默认值
24LongCount 计算集合中元素的数量,或者满足指定条件的元素的数量,一般用来计算大型集合的元素数量
25Max 计算序列中元素的最大值
26Min 计算序列中元素的最小值
27OfType 从序列中筛选出指定类型的元素,并构建为一个序列
28OrderByorder by 子句根据关键字对序列中的元素进行升序排序
29OrderByDescendingorder by 子句根据关键字对序列中的元素进行降序排序
30Range 返回指定范围的数字序列
31Repeat 返回IEnum<T>类型的包含重复值的序列
32Reverse 将序列中的元素进行反转
33SelectSelect子句将数据源中的元素投射到新的序列中并指定元素的类型和表现形式,
34SelectMany多个from子句将数据源中的元素投射到新的序列中并指定元素的类型和表现形式,但是SelectMany可以将一个函数应用到多个序列之上,并将结果合并为一个序列
35Single 返回集合中唯一一个元素或者返回满足指定条件的唯一一个元素
36SingleOrDefault 返回集合中唯一一个元素或者返回满足指定条件的唯一一个元素,如果不存在该元素则返回默认值
37Skip 跳过序列中指定数量的元素,然后返回由剩余元素组成的序列
38SkipWhile 跳过序列中指定数量的元素,然后返回由剩余元素组成的序列
39Sum 计算序列中所有元素的和
40Take 从数据源的开头获取指定数量的元素,然后返回这些元素组成的新序列
41TakeWhile 从数据源的开头获取指定数量的元素,然后返回这些元素组成的新序列
42 ThenBy order by 子句 根据次要关键字对序列进行升序排列
43 ThenByDescending order by 子句 根据次要关键字对序列进行升序排列
44 ToArray  将IEnumerable<T>类型的序列转换为T[]类型的数组
45 ToDictionary   将IEnumerable<T>类型的序列转换为Dictionary<TKey,Tvalue>类型的数组
46 ToList   将IEnumerable<T>类型的序列转换为List<T>类型的数组
47 ToLookUp  按照键值将序列中的元素放入一对多的字典序列LookUp<TKey,TValue>
48 Union  计算两个集合的并集,由属于第一个集合或者属于第二个集合的元素组成的序列
49 Where Where 子句 处理逻辑运算符,从数据源中筛选数据

转载于:https://www.cnblogs.com/yplong/p/5416075.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值