Looking for c# Keywords? Try Ask4Keywords

C# Language Языковые интегрированные запросы (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 - «Например, вы должны использовать вызов метода для выражения запроса, который извлекает количество элементов, которые соответствуют указанному условию».