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

时间: 2024-10-06 23:33:05

Linq中常用的方法的相关文章

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

转自:http://blog.csdn.net/fz_ywj/article/details/8109368 C语言中常用计时方法总结 1. time() 头文件:time.h 函数原型:time_t time(time_t * timer) 功能:返回以格林尼治时间(GMT)为标准,从1970年1月1日00:00:00到现在的此时此刻所经过的秒数. 用time()函数结合其他函数(如:localtime.gmtime.asctime.ctime)可以获得当前系统时间或是标准时间. 用difft

String对象中常用的方法

String对象中常用的方法 1.charCodeAt方法返回一个整数,代表指定位置字符的Unicode编码.strObj.charCodeAt(index)说明:index将被处理字符的从零开始计数的编号.有效值为0到字符串长度减1的数字.如果指定位置没有字符,将返回NaN.例如:      var  str = "ABC";      str.charCodeAt(0);结果:652.fromCharCode方法从一些Unicode字符串中返回一个字符串.String.fromCh

使用Linq中的Distinct方法对序列进行去重操作

使用Linq提供的扩展方法Distinct可以去除序列中的重复元素. 该方法具有以下两种重载形式: (1)public static IEnumerable<TSource> Distinct<TSource>(this IEnumerable<TSource> source) (重载1) 通过使用默认的相等比较器对值进行比较并返回序列中的非重复元素. (2)publicstatic IQueryable<TSource> Distinct<TSour

LINQ中的扩展方法

LINQ中的where(),OderByDescending().Select()并不是IEnumerable<T>的方法,却能使用这些方法,查阅了资料发现是用到了C#的扩展方法. 举个小例子: 定义一个静态类StringExtension和静态方法Foo,关键字this. public static class StringExtension { public static void Foo(this string s) { Console.WriteLine("Foo invok

【java】开发中常用字符串方法

java字符串的功能可以说非常强大, 它的每一种方法也都很有用. java字符串中常用的有两种字符串类, 分别是String类和StringBuffer类. Sting类 String类的对象是不可变的. 创建String String() String(String str) String(char value[]) //用字符数组生成一个串对象 String(char value[], int offset, int count) //用字符数组value的offset位开始的count个字

总结 String、StringBuffer与StringBuilder类中常用的方法

一.String类的常用方法 1 1.获取: 2 1)获取字符串str长度 3 int i = str.length(); 4 2)根据位置(index)获取字符 5 char c = str.charAt(index); 6 3)获取字符在字符串中的位置 7 int i =str.indexOf(char ch); //获取的是第一次出现的位置 8 int i =str.indexOf(char ch ,int index); //从位置index后获取ch出现的第一次的位置 9 int i

收集JavaScript中常用的方法函数

本文中,收集了一些比较常用的Javascript函数,希望对学习JS的朋友们有所帮助. 1. 字符串长度截取 function cutstr(str, len) { var temp, icount = 0, patrn = /[^\x00-\xff]/, strre = ""; for (var i = 0; i < str.length; i++) { if (icount < len - 1) { temp = str.substr(i, 1); if (patrn.

总结Array类型中常用的方法

Array类型应该是 ECMAScript 中最常用的类型之一了,并且它定义的数组与其他语言有着相当大的区别.数组是数据的有序集合,我们可以通过下标对指定位置的数据进行读写:特别的是,在 ECMAScript 中,数组的每一项可以保存任何类型的数据,数组的大小可以动态调整,它可以随着数据的添加自动增长来容纳新增的数据,从而变得更加灵活.下面总结了Array类型常见的一些方法. 一.栈方法 push() , pop() 这两个方法可以使数组的行为类似于"栈"这种数据结构,"栈&

javascript中常用数组方法详细讲解

javascript中数组常用方法总结 1.join()方法: Array.join()方法将数组中所以元素都转化为字符串链接在一起,返回最后生成的字符串.也可以指定可选的字符串在生成的字符串中来分隔数组的各个元素.如果不指定分隔符,默认使用逗号.案例如下: var a=[1,2,3]; a.join();//=> "1,2,3" 因为没有指定分隔符,默认为逗号. a.join("+");//=> "1+2+3" 指定分隔符为+ a.