Для обращения к источнику данных по запросу, сформированному средствами LINQ, в этом источнике должен быть реализован интерфейсI Enumerable.Он имеет две формы: обобщенную и необобщенную. Как правило, работать с источником данных легче, если в нем реализуется обобщенная формаIEnumerable
Простой запрос
А теперь самое время обратиться к простому примеру использования LINQ. В приведенной ниже программе используется запрос для получения положительных значений, содержащихся в массиве целых значений.
// Сформировать простой запрос LINQ.
using System; using System.Linq;
class SimpQuery {
static void Main {
int[] nums = { .1,
// Сформировать простой запрос на получение только положительных значений, var posNums = from n in nums where n > 0 select n;
Console.Write("Положительные значения из массива nums: ");
// Выполнить запрос и отобразить его результаты, foreach(int i in posNums) Console.Write(i + " ");
Console.WriteLine;
}
}
Эта программа дает следующий результат.
Положительные значения из массива nums: 1 3 5
Как видите, в конечном итоге отображаются только положительные значения, хранящиеся в массивеnums.Несмотря на всю свою простоту, этот пример наглядно демонстрирует основные возможности LINQ. Поэтому рассмотрим его более подробно.
Прежде всего обратите внимание на применение в данном примере программы следующего оператора.
Для применения средств LINQ в исходный текст программы следует включить пространство именSystem.Linq.
Затем в программе объявляется массивnumsтипаint.Все массивы в C# неявным образом преобразуются в форму интерфейсаIEnumerable
Далее объявляется запрос, по которому из массиваnumsизвлекаются элементы только с положительными значениями.