某些使用更频繁的标准查询运算符具有专用的 C# 语言关键字语法,使用这些语法可以在查询表达式中调用这些运算符。 查询表达式是比基于方法的等效项更具可读性的另一种查询表示形式。 查询表达式子句在编译时被转换为对查询方法的调用。
查询表达式语法表
下表列出包含等效查询表达式子句的标准查询运算符。
方法 | C# 查询表达式语法 |
Cast | 使用显式类型化范围变量,例如:from int i in numbers (有关详细信息,请参阅 from 子句) |
GroupBy |
(有关详细信息,请参阅 group 子句) |
GroupJoin<TOuter,TInner,TKey,TResult>(IEnumerable<TOuter>, |
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 子句) |