ВУЗ:
Составители:
Рубрика:
98
// формирование источника данных для запроса
int[] array = new int[] { 4, 5, 2, 0, 3, 9, 1, 7, 8, 6 };
// формирование запроса получения всех четных элементов массива
var query = from el in array where (el % 2) == 0 select el;
// выполнение запроса и печать элементов из выборки
foreach (int a in query)
Console.Write("{0} ", a);
В части from данного запроса указывается, что просматриваются все
элементы el из массива array. В части where задано условие отбора
элементов (для которых el%2==0). Часть select указывает, что в выборку
входят сами элементы el. Собственно выполнение запроса осуществляется
при выполнении следующего за запросом цикла.
Можно выполнять запрос и без цикла foreach. Например, это можно
сделать с помощью агрегирующих функций Count(), Average(), Max()
и др. Так, при получении максимального четного числа из массива
выполнение запроса могло бы быть таким:
// формирование источника данных для запроса
int[] array = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
// формирование запроса получения всех четных элементов массива
var query = from el in array where (el % 2) == 0 select el;
// выполнение запроса и печать максимального
// из элементов в выборке
Console.WriteLine("Максимальный четный элемент - {0}", query.Max());
Другим способом выполнения запроса без цикла является кэширование
результата запроса в массиве или списке, который можно обработать
позднее. Это делается с помощью методов запроса ToArray() или
ToList(). Например,
int[] res = query.ToArray();
Подробнее про язык запросов можно прочитать, например, в [9]. Мы
же рассмотрим пример приложения, в котором используются коллекции и
требуется выбор данных из этих коллекций. Для осуществления этого выбора
будем использовать язык запросов.
Требуется написать приложение, которое отслеживает работу магазина.
Имеется каталог товаров, которые могут продаваться в магазине. Каждый
// формирование источника данных для запроса int[] array = new int[] { 4, 5, 2, 0, 3, 9, 1, 7, 8, 6 }; // формирование запроса получения всех четных элементов массива var query = from el in array where (el % 2) == 0 select el; // выполнение запроса и печать элементов из выборки foreach (int a in query) Console.Write("{0} ", a); В части from данного запроса указывается, что просматриваются все элементы el из массива array. В части where задано условие отбора элементов (для которых el%2==0). Часть select указывает, что в выборку входят сами элементы el. Собственно выполнение запроса осуществляется при выполнении следующего за запросом цикла. Можно выполнять запрос и без цикла foreach. Например, это можно сделать с помощью агрегирующих функций Count(), Average(), Max() и др. Так, при получении максимального четного числа из массива выполнение запроса могло бы быть таким: // формирование источника данных для запроса int[] array = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; // формирование запроса получения всех четных элементов массива var query = from el in array where (el % 2) == 0 select el; // выполнение запроса и печать максимального // из элементов в выборке Console.WriteLine("Максимальный четный элемент - {0}", query.Max()); Другим способом выполнения запроса без цикла является кэширование результата запроса в массиве или списке, который можно обработать позднее. Это делается с помощью методов запроса ToArray() или ToList(). Например, int[] res = query.ToArray(); Подробнее про язык запросов можно прочитать, например, в [9]. Мы же рассмотрим пример приложения, в котором используются коллекции и требуется выбор данных из этих коллекций. Для осуществления этого выбора будем использовать язык запросов. Требуется написать приложение, которое отслеживает работу магазина. Имеется каталог товаров, которые могут продаваться в магазине. Каждый 98
Страницы
- « первая
- ‹ предыдущая
- …
- 97
- 98
- 99
- 100
- 101
- …
- следующая ›
- последняя »