语言综合查询(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 - “例如,你必须使用方法调用来表示检索与指定条件匹配的元素数量的查询。”