Linq 27个常用操作符说明

1Where  操作符用于限定输入集合中的元素,将符合条件的元素组织声称一个序列结果。
2Select   操作符用于根据输入序列中的元素创建相应的输出序列中的元素,输出序列中的元素类型可以与输入序列中的元素类型相同,也可以不同。下面来看看Select方法的原型。
3SelectMany  操作符用于根据输入序列中的每一个元素,在输出序列中创建相应的零个或者多个元素,与Select操作符不同,Select操作符会根据输入序列中的每一个元素创建一个对应的输出序列元素,而SelectMany操作符可以创建多个。
4Take      操作符用于从输入序列中返回指定数量的元素,常用于分页。
5TakeWhile  操作符用于从输入序列中返回指定数量且满足一定条件的元素。
6Skip     操作符用于从输入序列中跳过指定数量的元素,返回由序列中剩余的元素所组成的新序列。
7SkipWhile  操作符用于从输入序列中跳过满足一定条件指定数量的元素,与TakeWhile操作符类似。
8Concat    操作符用于连接两个序列,生成一个新序列。
9OrderBy   操作符用于对输入序列中的元素进行排序,排序基于一个委托方法的返回值顺序,排序过程完成后,会返回一个类型为IOrderEnumerable<T>的集合对象。
10OrderByDescending  操作符的功能与OrderBy操作符基本相同,二者只是排序的方式不同OrderBy是顺序排序,而OrderByDescending则是逆序排序。
11ThenBy        操作符可以对一个类型为IOrderedEnumerable<T>,(OrderByOrderByDesceding操作符的返回值类型)的序列再次按照特定的条件顺序排序。
12ThenByDescending  操作符与ThenBy操作符非常类似,只是排序顺序倒过来而已,不在过多阐述。
13Reverse      操作符用于生成一个与输入序列中元素相同,但元素排列顺序相反的新序列。
14Join        操作符类似于SQL语句中的Join语句用于连接多个表,Linq to OBJECTJoin操作符可以用来连接两个输入序列。
15GroupJoin  操作符也用于连接两个输入序列,但与Join操作符不同稍有不同,Join操作符在列举outer序列元素时,会将一个outer序列元素和其对应的inner序列元素作为一组参数传递给委托resultSelector委托,这就意味着如果某一个outer序列元素有多个对应的inner序列元素,Join操作符将会分多次将outer序列元素和每一个对应的inner序列元素传递给委托resultSelector。使用GroupJoin操作符时,如果某一个outer序列元素有多个对应的inner序列元素,那么这多个对应的inner序列元素会作用一个序列一次性传递给委托resultSelecotr,可以针对此序列添加一些处理逻辑。
16GroupBy  操作符类似于SQL语言仲的Gruop By语句,这里的GroupBy操作符用于将输入序列中的元素进行分组。
17Distinct    操作符类似于SQL语句中的Distinct语句,这里的Distinct操作符也用于去除一个序列中的重复元素。
18Union     操作符用于将两个序列中的元素合并成一个新的序列,新序列将自动去除重复的元素。
19Intersect  操作符会将两个输入序列中的重复元素,即同时存在于两个序列中的元素挑选出来,生成一个新的集合,也就是求交集。
20Except     操作符可以实现一种集合之间的减法运算,它返回两个序列中存在于第一个序列但不存在于第二个序列的元素所组成的新序列。
21Cast     操作符用于将一个类型为IEnumerable的集合对象转换为IEnumerable<T>类型的集合对象。也就是非泛型集合转成泛型集合,因为在Linq to OBJECT中,绝大部分操作符都是针对IEnumerable<T>类型进行的扩展方法。因此对非泛型集合并不适用。
22OfType    操作符与Cast操作符类似,用于将类型为IEnumerable的集合对象转换为IEnumerable<T>类型的集合对象。不同的是,Cast操作符会视图将输入序列中的所有元素转换成类型为T的对象,,如果有转换失败的元素存在Cast操作符将抛出一个异常;而OfType操作符仅会将能够成功转换的元素进行转换,并将这些结果添加到结果序列中去。与Cast操作符相比,OfType操作符更加安全。
23AsEnumerable  操作符可以将一个类型为IEnumerable<T>的输入序列转换成一个IEnumerable<T>的输出序列,其主要用于将一个实现了IEnumerable<T>接口的对象转换成一个标准的IEnumerable<T>接口对象。在Linq中、不同领域的Linq实现都有自己专属的操作符。
24DefaultEmpty  操作符可以用来为一个空的输入序列生成一个对应的含有默认元素的新序列。引用类型为null,值类型为相应的默认值。有些标准操作符在一个空的序列上调用时会抛出一个异常,而DefaultEmpty恰恰可以解决这个问题。
25Range    操作符用于辅助生成一个整数序列。
26Repeat     操作符用于生成一个包含指定数量重复元素的序列。
27Empty    操作符用于生成一个包含指定类型元素的空序列。

转载于:https://www.cnblogs.com/widows/p/10290709.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
极端气候计算软件,受到WMO等国际机构支持与认可,由加拿大等科研机构研的RCLIMDEX软件在国际极端气候研究领域已经取得显著的影响,国内的相关研究正在增加之中。 据介绍,RCIMDEX是属于CLIMDEX软件系列(另有EXCEL宏命令版、FORTRAN版FCLIMDEX),目前的版本为2004年研制,原本的开语言为S语言,后改为开放的R语言。 现上传本人下载于pudn的rclimdex以及本人搜索于网海的rclimdex版。有点奇怪的是,该软件虽是自由软件(仍须遵守有关许可),但官网似乎难以下载,且未提供直接注册。按官网提示,须到一个延伸网站注册。 尽管看似不难下载,但对我仍有些网海捞针(不包括pudn下载的climdex),这是我的玩笑说法。网友们也不妨捞捞看,也许是小菜一碟。注册使用是开者的愿望,有使用想法的朋友可以前往注册下载。 本人并未运行,有兴趣的朋友可对两者进行比对。 此帖与本站FORTRAN栏目《计算27项极端气候指数的FCLIMDEX软件(含多个fortran源程序)》及《气候统计》栏目的《R语言软件、实例源代码与R程序用法下载—气候统计工具的潜力股》关系密切,可一并阅读。 此帖与本站FORTRAN栏目《计算27项极端气候指数的FCLIMDEX软件(含多个fortran源程序)》及《气候统计》栏目的《R语言软件、实例源代码与R程序用法下载—气候统计工具的潜力股》关系密切,可一并阅读。 注:以下内容摘自硕士论文《内蒙古地区极端气候事件时空变化及其与NDVI的相关性》(使用RCLIMDEX软件,论文列出了27项极端指数中的15项中文译名)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值