标准查询运算符的查询表达式语法
某些使用更频繁的标准查询运算符具有专用的 C# 和 Visual Basic 语言关键字语法,利用这些语法,将可以在“查询表达式”中调用这些运算符。 与“基于方法”的查询表达形式相比,查询表达式是一种不同的、可读性更好的查询表达形式。 在编译时,查询表达式子句将被转换为对查询方法的调用。
查询表达式语法表
下表列出了具有等效查询表达式子句的标准查询运算符。 C# 和 Visual Basic 编程语言没有为相同方法提供专用查询表达式语法。 下表列出了同时适用于这两种语言的语法。
方法 |
C# 查询表达式语法 |
Visual Basic 查询表达式语法 |
---|---|---|
不适用 |
Aggregate … In … Into All(…) (有关更多信息,请参见 Aggregate 子句 (Visual Basic)。) |
|
不适用 |
Aggregate … In … Into Any() (有关更多信息,请参见 Aggregate 子句 (Visual Basic)。) |
|
不适用 |
Aggregate … In … Into Average() (有关更多信息,请参见 Aggregate 子句 (Visual Basic)。) |
|
使用显式类型化的范围变量,例如: from int i in numbers (有关更多信息,请参见 from 子句(C# 参考)。) |
From … As … (有关更多信息,请参见 From 子句 (Visual Basic)。) |
|
不适用 |
Aggregate … In … Into Count() (有关更多信息,请参见 Aggregate 子句 (Visual Basic)。) |
|
不适用 |
Distinct (有关更多信息,请参见 Distinct 子句 (Visual Basic)。) |
|
group … by - 或 - group … by … into … (有关更多信息,请参见 group 子句(C# 参考)。) |
Group … By … Into … (有关更多信息,请参见 Group By 子句 (Visual Basic)。) |
|
join … in … on … equals … into … (有关更多信息,请参见 join 子句(C# 参考)。) |
Group Join … In … On … (有关更多信息,请参见 Group Join 子句 (Visual Basic)。) |
|
join … in … on … equals … (有关更多信息,请参见 join 子句(C# 参考)。) |
From x In …, y In … Where x.a = b.a - 或 - Join … [As …]In … On … (有关更多信息,请参见 Join 子句 (Visual Basic)。) |
|
不适用 |
Aggregate … In … Into LongCount() (有关更多信息,请参见 Aggregate 子句 (Visual Basic)。) |
|
不适用 |
Aggregate … In … Into Max() (有关更多信息,请参见 Aggregate 子句 (Visual Basic)。) |
|
不适用 |
Aggregate … In … Into Min() (有关更多信息,请参见 Aggregate 子句 (Visual Basic)。) |
|
OrderBy<TSource, TKey>(IEnumerable<TSource>, Func<TSource, TKey>) |
orderby (有关更多信息,请参见 orderby 子句(C# 参考)。) |
Order By (有关更多信息,请参见 Order By 子句 (Visual Basic)。) |
OrderByDescending<TSource, TKey>(IEnumerable<TSource>, Func<TSource, TKey>) |
orderby … descending (有关更多信息,请参见 orderby 子句(C# 参考)。) |
Order By … Descending (有关更多信息,请参见 Order By 子句 (Visual Basic)。) |
select (有关更多信息,请参见 select 子句(C# 参考)。) |
Select (有关更多信息,请参见 Select 子句 (Visual Basic)。) |
|
多个 from 子句。 (有关更多信息,请参见 from 子句(C# 参考)。) |
多个 From 子句 (有关更多信息,请参见 From 子句 (Visual Basic)。) |
|
不适用 |
Skip (有关更多信息,请参见 Skip 子句 (Visual Basic)。) |
|
不适用 |
Skip While (有关更多信息,请参见 Skip While 子句 (Visual Basic)。) |
|
不适用 |
Aggregate … In … Into Sum() (有关更多信息,请参见 Aggregate 子句 (Visual Basic)。) |
|
不适用 |
Take (有关更多信息,请参见 Take 子句 (Visual Basic)。) |
|
不适用 |
Take While (有关更多信息,请参见 Take While 子句 (Visual Basic)。) |
|
ThenBy<TSource, TKey>(IOrderedEnumerable<TSource>, Func<TSource, TKey>) |
orderby …, … (有关更多信息,请参见 orderby 子句(C# 参考)。) |
Order By …, … (有关更多信息,请参见 Order By 子句 (Visual Basic)。) |
ThenByDescending<TSource, TKey>(IOrderedEnumerable<TSource>, Func<TSource, TKey>) |
orderby …, … descending (有关更多信息,请参见 orderby 子句(C# 参考)。) |
Order By …, … Descending (有关更多信息,请参见 Order By 子句 (Visual Basic)。) |
where (有关更多信息,请参见 where 子句(C# 参考)。) |
Where (有关更多信息,请参见 Where 子句 (Visual Basic)。) |