C#3.0新增功能09 LINQ 标准查询运算符 02 查询表达式语法

时间:2022-06-19 18:57:11

某些使用更频繁的标准查询运算符具有专用的 C# 语言关键字语法,使用这些语法可以在查询表达式中调用这些运算符。 查询表达式是比基于方法的等效项更具可读性的另一种查询表示形式。 查询表达式子句在编译时被转换为对查询方法的调用。

查询表达式语法表

下表列出包含等效查询表达式子句的标准查询运算符。

方法 C# 查询表达式语法
 Cast

 使用显式类型化范围变量,例如:from int i in  numbers

(有关详细信息,请参阅 from 子句

 GroupBy

 group … by 或 group … by … into …

(有关详细信息,请参阅 group 子句

 GroupJoin<TOuter,TInner,TKey,TResult>(IEnumerable<TOuter>,

 IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, 

  Func<TOuter,IEnumerable<TInner>,TResult>)

 join … in … on … equals … into …

(有关详细信息,请参阅 join 子句

 Join<TOuter,TInner,TKey,TResult>(IEnumerable<TOuter>,

 IEnumerable<TInner>, Func<TOuter,TKey>,  Func<TInner,TKey>,   Func<TOuter,TInner,TResult>)

join … in … on … equals … into …

(有关详细信息,请参阅 join 子句

 OrderBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)

 orderby 

(有关详细信息,请参阅 orderby 子句

 OrderByDescending<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)

 orderby 

(有关详细信息,请参阅 orderby 子句

 Select  select

(有关详细信息,请参阅 let 子句
 SelectMany  多个 from 子句。

(有关详细信息,请参阅 from 子句
 ThenBy<TSource,TKey>(IOrderedEnumerable<TSource>, Func<TSource,TKey>)  orderby …, …

(有关详细信息,请参阅 orderby 子句
 ThenByDescending<TSource,TKey>(IOrderedEnumerable<TSource>,   Func<TSource,TKey>)  orderby …, … descending

(有关详细信息,请参阅 orderby 子句
 Where  where

(有关详细信息,请参阅 where 子句