|
Программирование >> Автоматически обновляемые приложения
Вывод имени числа в этом примере (листинг 18.7) мы выводим имя каждого числа массива, индексированного во втором массиве, который содержит имена. I Листинг 18.7. Вывод имени числа public void Linq4() { int[] nuinbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 lustring [] strings = { ноль , один , два , три , четыре , пять , шесть , семь , восемь , девять }; var textNums = from n in numbers select strings[n]; foreach (var s in textNums) { textBoxl.Text += s + Environment.NewLine; В результате выполнения примера в поле textBoxl будут добавлены слова пять , четыре , один , три , девять , восемь и т. д., каждое в новой строке. Вывод строк из массива в разных регистрах в этом примере (листинг 18.8) мы печатаем строки из массива в верхнем и нижнем регистре. Данный пример демонстрирует использование анонимных foreach (var i in numsPlusOne) { textBoxl.Text += i + ; : Листинг 18.8. Вывод строк в разных регистрах public void Linq5 О { string [] words = { МарТьАДка , оСеЛ , КОЗел , мИшка }; var upperLowerWords = from w in words select new { Upper = w.ToUpper(), Lower = w.ToLowerO }; foreach (var ul in upperLowerWords) { textBoxl.Text += String.Format( Верхний регистр: {0}, Нижний регистр: {1] ul.Upper, ul.Lower) + Envi ronment.NewLine; Оператор Take Оператор Take возвращает заданное количество элементов массива, начиная с первого (листинг 18.9). I Листинг 18.9. Использование оператора Take public void Linq6() { int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 Берем первые три элемента массива var first3Numbers = numbers.Take(3); foreach (var n in first3Numbers) { textBoxl.Text += n + Environment.NewLine; типов в выбранном выражении. Анонимный тип имеет два поля - upper и Lower, которые позволяют выводить строки в разных регистрах. \ Листинг 18,10. Использование оператора TakeWhile public void Linq7() { int[] nuinbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 }; var firstNuinbersLessThane = nuinbers. TakeWhile (n => n < 6) ; MessageBox.Show( Первые числа, которые меньше 6: ); foreach (var n in firstNuinbersLessThan6) textBoxl.Text += n + Environment.NewLine; Оператор Skip Оператор skip, наоборот, выдает все элементы, пропуская определенное количество начальных элементов массива. Например, в листинге 18.11 мы получаем все элементы массива кроме первых четырех элементов. Листинг 18,11. Использование оператора skip public void Linq8() { int[] nuinbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 }; var not First 4 Nuinbers = nuinbers . Skip (4 ) ; Пропущены первые 4 элемента foreach (var n in notFirst4Nuinbers) { textBoxl.Text += n + Environment.NewLine; Оператор TakeWhile Оператор TakeWhile выполняет почти то же самое, что и Take, однако выбор заканчивается не после фиксированного числа элементов, а когда перестает выполняться определенное условие. В примере (листинг 18.10) мы проходим через элементы массива, пока число меньше шести.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |