語言綜合查詢(LINQ)

//Example 1
int[] array = { 1, 5, 2, 10, 7 };

// Select squares of all odd numbers in the array sorted in descending order
IEnumerable<int> query = from x in array
                         where x % 2 == 1
                         orderby x descending
                         select x * x;
// Result: 49, 25, 1

關於 C#3.0,LINQ 子部分的維基百科文章的示例

示例 1 使用查詢語法,該語法的設計與 SQL 查詢類似。

//Example 2
IEnumerable<int> query = array.Where(x => x % 2 == 1)
    .OrderByDescending(x => x)
    .Select(x => x * x);
// Result: 49, 25, 1 using 'array' as defined in previous example

關於 C#3.0,LINQ 子部分的維基百科文章的示例

示例 2 使用方法語法來實現與示例 1 相同的結果。

值得注意的是,在 C#中,LINQ 查詢語法是 LINQ 方法語法的語法糖 。編譯器在編譯時將查詢轉換為方法呼叫。某些查詢必須以方法語法表示。來自 MSDN - “例如,你必須使用方法呼叫來表示檢索與指定條件匹配的元素數量的查詢。”