语言综合查询(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
示例 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
示例 2 使用方法语法来实现与示例 1 相同的结果。
值得注意的是,在 C#中,LINQ 查询语法是 LINQ 方法语法的语法糖 。编译器在编译时将查询转换为方法调用。某些查询必须以方法语法表示。来自 MSDN - “例如,你必须使用方法调用来表示检索与指定条件匹配的元素数量的查询。”