標準查詢運算子的查詢運算式語法

更新:2007 年 11 月

某些較常用的標準查詢運算子具有專屬的 C# 和 Visual Basic 語言關鍵字語法,使系統可以在「查詢運算式」(Query Expression) 中一併呼叫這些運算子。查詢運算式是可讀性高於其「方法架構」(Method-Based) 對等項的另一種查詢表示形式。在編譯時期,查詢運算式子句會轉譯成查詢方法的呼叫。

查詢運算式語法表

下表列出具有對等查詢運算式子句的標準查詢運算子。C# 和 Visual Basic 程式語言並未針對相同方法提供專屬的查詢運算式語法。表格中同時列出這兩種語言的語法。

方法

C# 查詢運算式語法

Visual Basic 查詢運算式語法

All<TSource>

不適用

Aggregate … In … Into All(…)

(如需詳細資訊,請參閱 Aggregate 子句 (Visual Basic))。

Any

不適用

Aggregate … In … Into Any()

(如需詳細資訊,請參閱 Aggregate 子句 (Visual Basic))。

Average

不適用

Aggregate … In … Into Average()

(如需詳細資訊,請參閱 Aggregate 子句 (Visual Basic))。

Cast<TResult>

使用明確指定型別的範圍變數,例如:

from int i in numbers

(如需詳細資訊,請參閱 from 子句 (C# 參考))。

From … As …

(如需詳細資訊,請參閱 From 子句 (Visual Basic))。

Count

不適用

Aggregate … In … Into Count()

(如需詳細資訊,請參閱 Aggregate 子句 (Visual Basic))。

Distinct<TSource>(IEnumerable<TSource>)

不適用

Distinct

(如需詳細資訊,請參閱 Distinct 子句 (Visual Basic))。

GroupBy

group … by

-或-

group … by … into …

(如需詳細資訊,請參閱 group 子句 (C# 參考))。

Group … By … Into …

(如需詳細資訊,請參閱 Group By 子句 (Visual Basic))。

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 子句 (C# 參考))。

Group Join … In … On …

(如需詳細資訊,請參閱 Group Join 子句 (Visual Basic))。

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

join … in … on … equals …

(如需詳細資訊,請參閱 join 子句 (C# 參考))。

From x In …, y In … Where x.a = b.a

-或-

Join … [As …]In … On …

(如需詳細資訊,請參閱 Join 子句 (Visual Basic))。

LongCount

不適用

Aggregate … In … Into LongCount()

(如需詳細資訊,請參閱 Aggregate 子句 (Visual Basic))。

Max

不適用

Aggregate … In … Into Max()

(如需詳細資訊,請參閱 Aggregate 子句 (Visual Basic))。

Min

不適用

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

(如需詳細資訊,請參閱 select 子句 (C# 參考))。

Select

(如需詳細資訊,請參閱 Select 子句 (Visual Basic))。

SelectMany

多個 from 子句。

(如需詳細資訊,請參閱 from 子句 (C# 參考))。

多個 From 子句

(如需詳細資訊,請參閱 From 子句 (Visual Basic))。

Skip<TSource>

不適用

Skip

(如需詳細資訊,請參閱 Skip 子句 (Visual Basic))。

SkipWhile

不適用

Skip While

(如需詳細資訊,請參閱 Skip While 子句 (Visual Basic))。

Sum

不適用

Aggregate … In … Into Sum()

(如需詳細資訊,請參閱 Aggregate 子句 (Visual Basic))。

Take<TSource>

不適用

Take

(如需詳細資訊,請參閱 Take 子句 (Visual Basic))。

TakeWhile

不適用

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

(如需詳細資訊,請參閱 where 子句 (C# 參考))。

Where

(如需詳細資訊,請參閱 Where 子句 (Visual Basic))。

請參閱

概念

標準查詢運算子概觀

依據執行方式將標準查詢運算式分類

參考

Enumerable

Queryable