这几天闲着也是闲着,就仔细的研究了一下Linq的语法,还有他的一些扩展方法的使用。

下面是一些常用的扩展方法。

Aggregate

自定义的聚合计算

All

检测序列中所有元素是否都满足指定的条件

Any

检测序列中是否存在满足指定条件的元素

Average

计算序列中元素的平均值

Cast

将序列中元素的类型转换成指定的类型(由TResult参数指定)

Contact

将一个序列中的元素全部追加到另一个序列中,并构成一个新的序列。

Contains

检测序列中是否存在指定的元素。

Count

计算序列中元素的数量,或者计算序列中满足条件元素的数量。

DefaultIfEmpty

返回IEnumerable<T>类型的序列。如果序列为空,则返回只包含一个元素(值为默认值或指定的值)的序列

Distinct

可以去掉数据源中重复的元素,并返回一个新序列。另外,他还可以指定一个比较器来比较两个元素是否相同。

Element

返回集合中指定索引处的元素。

ElementAtOrDefault

返回集合中指定索引处的元素。如果索引超出集合的范围,则返回默认值

Empty

返回IEnumerable<T>类型的空序列

EqualAll/SequenceEqual

判断两个序列是否相等。

Except

可以计算两个集合的差集(由在一个集合中而不在另一个集合中的元素组成的集合)

First

返回集合的第一个元素,或者返回集合中满足制定条件的第一个元素。

FirstOrDefault

返回集合的第一个元素,或者返回集合中满足制定条件的第一个元素。如果不存在满足该条件的元素,则返回默认元素。

GroupBy

对序列中的元素进行分组

GroupJoin

他产生分层数据结构,降低一个集合中的每一个元素与第二个集合中的一组相关元素进行匹配。在查询结果中,第一个集合中的元素都会出现在查询结果中。如果第一个集合中的元素在第二个集合中找到相关的元素,则使用被找到的元素,否则使用空

Intersect

可以计算两个集合的交集(元素即在第一个序列中,也在第二个序列中)

Join

要求元素的连接关系必须同时满足被链接的两个数据源,和SQL语句中的inner join字句相似

Last

返回集合的最后一个元素,或者返回集合的满足指定条件的最后一个元素。

LastOrDefault

返回集合的最后一个元素,或者返回集合的满足指定条件的最后一个元素。如果出存在满足该条件的元素,则返回默认元素。

LongCount

计算序列中元素的数量,或者计算序列满足一定条件的元素的数量。一半计算大型集合中的元素的数量。

Max

计算序列中元素的最大值。

Min

计算序列中元素的最小值。

OfType

从序列中筛选指定类型的元素,并构成为一个序列。

OrderBy

根据关键字对序列中的元素升序。

OrderByDescending

根据关键字对序列中的元素降序。

Range

返回指定范围的数字序列。

Repeat

返回IEnumerable<T>类型的包含一个重复值得序列。

Reverse

将序列中的元素的顺序进行反转。

Select

将数据源中的元素投影到新序列中,并指定元素的类型和表现形式。

SelectMany

可以将数据源中的元素投影到新序列中,并制定元素的类型和表达式。

Single

返回集合的唯一元素,或者返回集合的满足指定条件的唯一元素。

SingleOrDefault

返回集合的唯一元素,或者返回集合的满足指定条件的唯一元素。如果不存在满足该条件的元素,则返回默认元素。

Skip

跳过数据源(序列)中指定数量的元素,然后返回剩余的元素或序列。

SkipWhile

跳过数据源(序列)中满足指定条件的元素,然后返回剩余的元素或序列。

Sum

计算序列中元素的和。

Take

从数据源(序列)的开头开始提取指定数量的元素。然后返回有这些元素组成的序列。

TakeWhile

从数据源(序列)的开头开始提取满足指定条件的元素。然后返回有这些元素组成的序列。

ThenBy

根据次要关键字对序列中的元素按升序排序。

ThereByDescending

根据次要关键字对序列中的元素按降序排列。

ToArray

将IEnumerable<T>类型的序列转换为T[]类型的数组。

ToDictionary

按照键值将序列中的元素放入一对一的字典序列(Dictionary<TKey,TValue>)中。

ToList

将IEnumerable<T>类型的序列转换为List<T>类型的序列。

ToLookup

按照键值将序列中的元素放入一对多的字典序列(Lookup<TKey,TValue>)中。

Union

可以计算两个集合的并集(由在一个集合中,或者在另外一个集合中的元素组成的集合)

Where

处理由逻辑运算符(如逻辑"与"、逻辑"或")组成的逻辑表达式,并从数据源中筛选数据。

这些方法大致有可以分成几类:

投影操作

Select

  SelectMany、

链接操作

  Join

  GroupJoin

筛选操作

  Where

排序操作

  OrderBy

  OrderByDescending

  ThereBy

  ThereByDescending

  Reverse

聚合操作

  Max

  Min

  Count

  LongCount

  Sum

  Aggregate

集合操作

  Distinct

  Except

  Intersect

  Union

元素操作

  Element

  ElementAtOrDefault

  First

  FirstOrDefault

  Last

  LastOrDefault

  Single

  SingleOrDefault

数据类型转换操作

  AsQueryable : 可以将数据源转换成IQueryable<T>或者IIIIIQueryable的集合序列。

  AsEnumerable : 可以将数据源转换成IEnumerable<T>或者IEnumerable的集合序列。

  Cast : 将序列中元素的类型转换为指定类型。

  OfType :从序列中筛选一个指定类型的元素,并构成一个序列。

  ToArray : 将一个IEnumerable<T>的序列转换成一个T[]类型的一个数组。

  ToList : 将一个IEnumerable<T>的序列转换成一个List<T>类型的一个序列。

  ToDictionary : 按照键值将序列中的元素放入到一对一的字典序列中。

  ToLookup :按照键值将序列中的元素放入到一对多的字典序列中。

限定符操作

  All

  Any

  Contains

还有

  Skip

  SkipWhile

  Take

  TakeWhile

  Contact

  SequenceEqual

转载于:https://www.cnblogs.com/ansheng/p/4731845.html

Linq中常用的方法相关推荐

  1. C语言中常用计时方法总结

    转自:http://blog.csdn.net/fz_ywj/article/details/8109368 C语言中常用计时方法总结 1. time() 头文件:time.h 函数原型:time_t ...

  2. 数学建模中常用的方法

    数学建模中常用的方法:类比法.二分法.差分法.变分法.图论法.层次分析法.数据拟合法.回归分析法.数学规划(线性规划,非线性规划,整数规划,动态规划,目标规划).机理分析.排队方法.对策方法.决策方法 ...

  3. org.apache.commons.lang.StringUtils中常用的方法

    org.apache.commons.lang.StringUtils中常用的方法,这里主要列举String中没有,且比较有用的方法: 1. 检查字符串是否为空: static boolean isB ...

  4. iOS开发中常用的方法

    iOS开发中常用的方法 系统弹窗: 过期方法: UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"确认报价" ...

  5. Cookie | Cookie的理论基础、Cookie中常用的方法

    目录 一:Cookie的理论基础 二:Cookie中常用的方法 一:Cookie的理论基础 (1)cookie怎么生成? ①session的实现原理中,每一个session对象都会关联一个sessio ...

  6. c语言计时纳秒_C语言中常用计时方法总结

    转自:http://blog.csdn.net/fz_ywj/article/details/8109368 C语言中常用计时方法总结 1. time() 头文件:time.h 函数原型:time_t ...

  7. 整理 .Net 2.0 下 WinForms中常用的方法(更新中...)

    using System; using System.Collections.Generic; using System.Text; using System.Windows.Forms; /**// ...

  8. 17.Java常用实用类之String类中常用的方法以及一般应用场景,final关键字

    文章目录 1.String类学习 1.1.什么是String类 1.2.String类中常用的方法 1.2.1. 构造方法 1.2.2.public int length() 1.2.3.public ...

  9. 入门系列-String中常用的方法 buffer、builder区别

    入门-String中常用的方法 buffer.builder区别 字符串比较 当我们想要比较两个字符串是否相同时,要特别注意,我们实际上是想比较字符串的内容是否相同.必须使用equals()方法而不能 ...

最新文章

  1. python 柱状图 保存_我如何从数据库中存储直方图数据?
  2. 微信公众号开发之网页授权认证获取用户的详细信息,实现自动登陆
  3. oracle报错编码
  4. 无向图的邻接矩阵存储,4个顶点、4条边
  5. 无向图求割(找桥)tarjan
  6. 分析 C# 2.0 新特性 -- 空类型(Nullable Types)
  7. 求剁手的分享,如何简单开发js图表
  8. 解决Eclipse编译web项目失败问题
  9. Ubuntu做Tomcat服务:insserv: warning: script 'tomcat' missing LSB tags and overrides
  10. 谈谈 MVX 中的 Model
  11. 移动端网页的基础制作
  12. ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed问题解决
  13. 论文中如何写mysql的介绍_论文中数据库概念设计怎么写
  14. RateLimiter高并发访问限流
  15. 服务器的内存和硬盘哪个更重要,[内存与硬盘区别] 内存和硬盘哪个重要
  16. 最简单的方式获取ELMo得到的词向量
  17. WPS Word表格转成文字或文字制成表格的快捷方法
  18. win电脑解析获取微信小程序源码(分包及具体操作)
  19. WLAN用户接入流程
  20. vue抽屉_实现抽屉列表-微信小程序

热门文章

  1. OpenCV-python学习笔记(四)——smoothing and blurring平滑和模糊
  2. np.where使用:根据条件生成新的数组
  3. java中static作用详解(版本二)
  4. php 打印 wap,PHP 输出简单动态WAP页面
  5. Postman系列之发送不同HTTP类型请求
  6. 使用PIL库使用文本生成图片(类验证码)
  7. 韩国财长:韩国将按计划推进加密货币征税
  8. Reflexer Labs将于4月15日进行首次FLX代币分配
  9. DeFIL.org的资金池规模达168万枚FIL 已借出105万枚FIL
  10. 本周Whale Alert监测到7.9万枚BTC在匿名地址间转账