Программирование >>  Автоматически обновляемые приложения 

1 ... 159 160 161 [ 162 ] 163 164 165 ... 170


Вывод имени числа

в этом примере (листинг 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) мы проходим через элементы массива, пока число меньше шести.



1 ... 159 160 161 [ 162 ] 163 164 165 ... 170

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика