Linq中常用的方法
这几天闲着也是闲着,就仔细的研究了一下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
Linq中常用的方法的更多相关文章
- org.apache.commons.lang.StringUtils中常用的方法
org.apache.commons.lang.StringUtils中常用的方法,这里主要列举String中没有,且比较有用的方法: 1. 检查字符串是否为空: static boolean isB ...
- String对象中常用的方法
String对象中常用的方法 1.charCodeAt方法返回一个整数,代表指定位置字符的Unicode编码.strObj.charCodeAt(index)说明:index将被处理字符的从零开始 ...
- 项目中常用js方法整理common.js
抽空把项目中常用js方法整理成了common.js,都是网上搜集而来的,大家一起分享吧. var h = {}; h.get = function (url, data, ok, error) { $ ...
- String:(字符串)中常用的方法
package stringyiwen; //字符串中常用的方法public class StringTest03 { public static void main(String[] args) { ...
- C#编程(六十一)------------LINQ中的扩展方法
原文链接: http://blog.csdn.net/shanyongxu/article/details/47208401 LINQ中的扩展方法 LINQ中where扩展方法,要想使用,必须导入us ...
- C语言中常用计时方法总结
转自:http://blog.csdn.net/fz_ywj/article/details/8109368 C语言中常用计时方法总结 1. time() 头文件:time.h 函数原型:time_t ...
- 大数据学习day13------第三阶段----scala01-----函数式编程。scala以及IDEA的安装,变量的定义,条件表达式,for循环(守卫模式,推导式,可变参数以及三种遍历方式),方法定义,数组以及集合(可变和非可变),数组中常用的方法
具体见第三阶段scala-day01中的文档(scala编程基础---基础语法) 1. 函数式编程(https://www.cnblogs.com/wchukai/p/5651185.html): ...
- 【java】开发中常用字符串方法
java字符串的功能可以说非常强大, 它的每一种方法也都很有用. java字符串中常用的有两种字符串类, 分别是String类和StringBuffer类. Sting类 String类的对象是不可变 ...
- day2 列表中常用的方法
列表中有很多方法,下面来看看常用的方法,我们知道,字符串是以字符列表形式存储的.因此上面学习的字符串中的很多方法在列表中也有. 1.extend() extend()列表的扩展,把两个列表进行 ...
随机推荐
- n个元素进栈,共有多少种出栈顺序?
1.基于栈的问题分析 我们把n个元素的出栈个数的记为f(n), 那么对于1,2,3, 我们很容易得出: f(1) = 1 / ...
- Spring的循环依赖问题
spring容器循环依赖包括构造器循环依赖和setter循环依赖,那Spring容器如何解决循环依赖呢?首先让我们来定义循环引用类: 在Spring中将循环依赖的处理分成了3种情况: 构造器循环依赖 ...
- 递推DP URAL 1586 Threeprime Numbers
题目传送门 /* 题意:n位数字,任意连续的三位数字组成的数字是素数,这样的n位数有多少个 最优子结构:考虑3位数的数字,可以枚举出来,第4位是和第3位,第2位组成的数字判断是否是素数 所以,dp[i ...
- FZU2219 StarCraft(哈夫曼树)
一个工人可以变成两个工人,这样可以画出一颗二叉树,那么就是在叶子上建的建筑. 问题的时间花费,可以看作是这颗二叉树中各个叶子的深度*k+叶子对应建筑耗费时间中的最大值. 容易想到,类似哈夫曼树一样,从 ...
- [Unity2D]精灵动画
通常我们在游戏里面创建的精灵比如玩家主角,它在移动的过程中一般会带有一些动画的效果,比如两只脚前后地移动,那么这种动画效果的实现和控制就可以通过Unity2D的动画系统来实现. 要添加这样的动画,首先 ...
- BZOJ4417: [Shoi2013]超级跳马
Description 现有一个n行m列的棋盘,一只马欲从棋盘的左上角跳到右下角.每一步它向右跳奇数列,且跳到本行或相邻行.跳越期间,马不能离开棋盘.例如,当n = 3, m = 10时,下图是一种可 ...
- openstack-L版安装
参照官方install document: http://docs.openstack.org/liberty/install-guide-rdo/ 实验环境:centos7.2 桥接: 192.16 ...
- opengl中拾取操作的实现
opengl采用一种比较复杂的方式来实现拾取操作,即选择模式.选择模式是一种绘制模式,它的基本思想是在一次拾取操作时,系统会根据拾取操作的参数(如鼠标位置)生成一个特定视景体,然后又系统重新绘制场景中 ...
- Samba结合AD实现域帐号认证的文件服务器
准备一台Windows域控制器, 在Samba服务器上安装Webmin图形化管理工具, samba, krb5-user, winbind. 修改/etc/krb5.conf. [logging] d ...
- 6. Configure Compute services
Controller Node: 1. sudo apt-get install nova-api nova-cert nova-conductor nova-consoleauth nova-nov ...