LINQ 方法 排序运算符 ThenBy&ThenByDescending 分组操作 加入 投影运算符:Select,SelectMany 量词运算符 聚合运算符 元素操作符 :从一个序列(集合)中返回一个特定的元素 平等运算符 Concat 生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。 设置运算符    分区操作符  转换运算符

过滤操作符

Where

       运算符(Linq扩展方法)根据给定条件过滤集合

其中扩展方法有以下两个重载。一个过载需要Func <TSource,bool>输入参数和第二个重载方法需要Func <TSource,int,bool>输入参数其中int是索引:

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

查询语法中的Where子句:

     LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

在上面的示例查询中,lambda表达式主体s.Age > 12 && s.Age < 20作为谓词函数传递,用于评估集合中的每个学生。Func<TSource, bool>

也可以使用带有匿名方法的Func类型委托作为谓词函数进行传递

 LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

方法中的扩展方法语法:

 与查询语法不同,您需要传递整个lambda表达式作为谓词函数。

 LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

 Where扩展方法也有第二个重载,包括集合中当前元素的索引如果需要,您可以在逻辑中使用该索引。

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

多个Where子句:

   LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

OfType

使用OfType运算符根据每个元素的类型过滤上述集合

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

   Orderby

     OrderBy按升序或降序对集合的值进行排序默认情况下,按升序排列集合,因为ascending关键字在这里是可选的。

  LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

多重排序:

您可以在由逗号分隔的多个字段上对集合进行排序。给定的集合将首先基于第一个字段进行排序,然后如果第一个字段的值对于两个元素是相同的,那么它将使用第二个字段进行排序等等。

 LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

注:方法语法中的多重排序工作方式不同。使用ThenBy或ThenByDecending扩展方法进行二级排序。

  1. LINQ包含五个排序算子:OrderByOrderByDescendingThenByThenByDescendingReverse
  2. LINQ查询语法不支持OrderByDescending,ThenBy,ThenByDescending和Reverse。它只支持“升序”和“降序”排序方向的“排序”条款。
  3. LINQ查询语法支持用逗号分隔的多个排序字段,而您必须使用ThenBy&ThenByDescending方法进行二级排序。

ThenBy&ThenByDescending

      LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

分组操作

    Groupby 

   该组包含在实现了一个IGrouping <TKey,TSource>接口的特殊类型的集合中,其中TKey是一个键值,组中已经形成了该组,而TSource是与分组键值匹配的元素的集合

 LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

LINQ查询可以以GroupBy或Select子句结束。  item.Key=by 后面接的数据

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

 LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

ToLookup

ToLookup与GroupBy相同; 唯一的区别是GroupBy执行延迟,而ToLookup执行是立即的另外,ToLookup仅适用于Method语法查询语法不支持ToLookup。

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

要记住的要点:

  1. GroupBy&ToLookup返回一个集合,该集合具有一个键和一个基于键值字段值的内部集合
  2. GroupBy的执行被推迟,而ToLookup的执行是立即的。
  3. LINQ查询语法可以以GroupBy或Select子句结束。

加入

 加入运算符加入两个序列(集合)并产生结果。

join:

Join操作符运行于两个集合,即内部集合和外部集合返回一个新的集合,其中包含来自满足指定表达式的集合的元素。与SQL的内部连接相同

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符 

 LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

例如:

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

 Join方法中的第一个参数用于指定内部序列,即standardListJoin方法的第二个和第三个参数用于指定一个字段,其值应该使用lambda表达式进行匹配,以便在结果中包含元素。外部序列的关键选择器student => student.StandardID指示:将studentList的每个元素的StandardID字段与内部序列的关键字匹配standard => standard.StandardID如果两个键字段的值匹配,则将该元素包含在结果中。

加入查询语法:

查询语法中的连接运算符与方法语法略有不同。它需要外部序列,内部序列,密钥选择器和结果选择器。'on'关键字用于关键选择器,其中'equals'运算符的左侧outerKeySelector,'equals'的右侧innerKeySelector

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

要记住的要点:

    1. Join 就像SQL的内部连接一样。它返回一个新的集合,其中包含两个集合中的通用元素,这两个集合的密钥匹
    2. 连接操作两个序列的内部序列和外部序列,并产生一个结果序列。
    3. 加入查询语法: 
      from... in outerSequence
      join... in innerSequence 
      on outerKey equals innerKey
      select ...

GroupJoin

    LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

方法查询:

 LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

 查询语法:

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

 

投影运算符:Select,SelectMany

  select

       返回一个包含基于转换函数的元素的IEnumerable集合。它类似于生成平坦结果集的SQL的Select子句。

LINQ查询语法必须以SelectGroupBy子句结束。以下示例演示select运算符,该运算符返回StudentName的字符串集合。

   LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

SelectMany:

SelectMany运算符投影基于转换函数的值序列,然后将它们平铺为一个序列。

量词运算符

    All

   All运算符在指定的条件下评估给定集合中的每个元素,如果所有元素满足条件,则返回True

   Any

   查元素是否满足给定的条件,如果有一个满足就返回真。

  LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

  Contains

   检查集合中是否存在指定的元素,并返回布尔值。

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

即使studentList中存在“Bill”,Contains也会返回false。这是因为Contains扩展方法只比较对象的引用,而不是对象的实际值。因此,要比较学生对象的值,您需要通过实现IEqualityComparer接口创建一个类,该接口比较两个Student对象的值并返回布尔值。

 LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

聚合运算符

    Aggregate

   执行累积操作。这个跟JavaScript里面的reduce函数一样。

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

 LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

 LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

 LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符        LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

    Average

      平均扩展方法计算集合中数值项的平均值。平均方法返回可为空或不可空的十进制,双精度或浮点值。

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

  Count

    Count运算符返回集合中元素的数量或满足给定条件的元素数量。

 LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

Max

 Max运算符返回集合中最大的数字元素。

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

Sum

 计算集合中数字项目的总和。

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

元素操作符 :从一个序列(集合)中返回一个特定的元素

   ElementAt & ElementAtOrDefault

     ElementAt法返回给定集合中指定索引的元素。如果指定的索引超出集合的范围,则会抛出索引超出范围的

     ElementAtOrDefault: 如果指定的索引超出了集合的范围,那么它将返回数据类型的默认值而不是抛出错误。

 LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

 First & FirstOrDefault

   返回集合中第零个索引的元素,即第一个元素。此外,它返回一个满足指定条件的元素

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

 Last & LastOrDefault

      返回集合中的最后一个元素.跟First&FirstOrDefault刚好是相反的。

Single & SingleOrDefault 

  返回集合中唯一的元素,如果找不到元素或存在多个元素都会报错。

 SingleOrDefault如果集合为空,或者找不到指定条件的元素,它将返回集合的数据类型的默认值。

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

  1. Single()期望集合中只有一个元素
  2. Single()在集合中没有元素或多个元素时抛出异常
  3. 如果在Single()中指定了一个条件,并且结果不包含任何元素或多个元素,则会引发异常。
  4. SingleOrDefault()将返回一个泛型集合的数据类型的默认值,如果聚集中没有元素或指定的条件。
  5. 如果聚集中有多个元素或指定的条件,SingleOrDefault()将会抛出一个异常。

平等运算符

SequenceEqual

SequenceEqual方法检查元素的数量,每个元素的值和两个集合中元素的顺序是否相等。

 LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

Concat

       附加两个相同类型的序列并返回一个新的序列(集合)。

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符    LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

 LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符  LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。

   DefaultIfEmpty

如果调用DefaultIfEmpty()的给定集合为空,则DefaultIfEmpty()方法将返回具有默认值的新集合。

DefaultIfEmpty()的另一个重载方法需要一个应该被默认值替换的值参数。

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符    LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符 

  Empty

      返回一个空的集合。

Empty()方法不像其他LINQ方法那样是IEnumerable或IQueryable的扩展方法。这是Enumerable静态类中包含的静态方法所以,你可以像Enumerable.Empty <TResult>()这样的其他静态方法调用它。Empty()方法返回一个指定类型的空集合

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

 Range

   从第一个元素开始返回一个IEnumerable <T>类型的集合,其中包含指定数量的元素和顺序值。

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符 LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

Repeat

 生成一个具有指定数量元素的IEnumerable <T>类型的集合,每个元素包含相同的指定值。

 LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符  LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

设置运算符   

Distinct

     不同的扩展方法返回给定集合中唯一元素的新集合。

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符  LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符  LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

 LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

 Except

     需要两个集合。它返回一个新集合,其中第一个集合中的元素不存在于第二个集合(参数集合)中。

 LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符    LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

复杂的类型跟上门一样。

Intersect

   需要两个集合。它返回一个新的集合,其中包含集合中存在的公共元素。

  LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符     LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

Union

 需要两个集合,并返回一个新集合,其中包含两个集合中不同的元素。

 LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符   LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

分区操作符

  Skip & SkipWhile 

    从第一个元素开始跳过指定数量的元素,并返回其余元素.

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符  LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

 LINQ中的SkipWhile()扩展方法跳过集合中的元素,直到指定的条件为真它返回一个新的集合,包含所有剩余的元素,一旦指定的条件为任何元素为false。

 LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符    LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

 LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符      LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

 Take & TakeWhile

     返回从第一个元素开始的指定数量的元素。

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符   LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

TakeWhile()扩展方法返回给定集合中的元素,直到指定的条件为真。如果第一个元素本身不满足条件,则返回一个空集合。

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符   LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

 在上面的例子中,TakeWhile()只包含第一个元素,因为第二个字符串元素不满足条件。

 

注:把Skip和Take联合起来就可以形成分页。

 转换运算符

AsEnumerable & AsQueryable

 AsEnumerable和AsQueryable方法将源对象强制转换或分别转换为IEnumerable <T>或IQueryable <T>。

 LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符       LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

 CastAsEnumerable <T>完全相同。它将源对象转换为IEnumerable <T>。

ToArray:ToArray(),ToList(),ToDictionary():

      ToArray(),ToList(),ToDictionary()方法分别将源对象转换为数组,List或Dictionary。

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符    LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

 附加:

Let 关键字

“let”关键字在查询语法中很有用。它会投影一个新的范围变量,允许重新使用表达式并使查询更具可读性。

例如: 这里需要写,两遍   let可以看成在查询语法里面申明一个变量。

 LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

Into  关键字    

分组里面也可以使用Into关键字

 LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符 LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符

    LINQ 方法
排序运算符
ThenBy&ThenByDescending
分组操作
加入
投影运算符:Select,SelectMany
量词运算符
聚合运算符
元素操作符 :从一个序列(集合)中返回一个特定的元素
平等运算符
Concat
生成操作符 LINQ包含了生成运算符DefaultIfEmpty,Empty,Range&Repeat。Empty,Range和Repeat方法不是IEnumerable或IQueryable的扩展方法,但它们只是静态类Enumerable中定义的静态方法。
设置运算符   
分区操作符
 转换运算符