Обратите внимание на то, что в оператореwhereданной программы используется один из методов обработки символьных строк под названиемEnds With . Он возвращает логическое значениеtrue,если вызывающая его строка оканчивается последовательностью символов, указываемой в качестве аргумента этого метода.
Сортировка результатов запроса с помощью оператора orderby
Зачастую результаты запроса требуют сортировки. Допустим, что требуется получить список просроченных счетов по порядку остатка на счету: от самого большого до самого малого или же список имен заказчиков в алфавитном порядке. Независимо от преследуемой цели, результаты запроса можно очень легко отсортировать, используя такое средство LINQ, как оператор orderby.
Оператор orderby можно использовать для сортировки результатов запроса по одному или нескольким критериям. Рассмотрим для начала самый простой случай сортировки по одному элементу. Ниже приведена общая форма оператора orderby для сортировки результатов запроса по одному критерию:
orderby
где
Ниже приведен пример программы, в которой оператор orderby используется для извлечения значений из массива типаintпо нарастающей.
// Продемонстрировать применение оператора orderby.
using System; using System.Linq;
class OrderbyDemo { static void Main {
int[] nums = { 10, -19, 4, 7, 2, -5, 0 };
// Сформировать запрос на получение значений в отсортированном порядке, var posNums = from n in nums orderby n select n;
Console.Write("Значения по нарастающей: ");
// Выполнить запрос и вывести его результаты. foreach(int i in posNums) Console.Write(i + " ");
При выполнении этой программы получается следующий результат.
Значения по нарастающей: -19 -5 0 2 4 7 10
Для того чтобы изменить порядок сортировки по нарастающей на сортировку по убывающей, достаточно указать ключевое слово descending, как показано ниже.
var posNums = from n in nums
orderby n descending select n;