Герберт Шилдт - C# 4.0: полное руководство

Тут можно читать онлайн Герберт Шилдт - C# 4.0: полное руководство - бесплатно ознакомительный отрывок. Жанр: comp-programming, издательство ООО И.Д. Вильямс, год 2011. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    C# 4.0: полное руководство
  • Автор:
  • Жанр:
  • Издательство:
    ООО И.Д. Вильямс
  • Год:
    2011
  • Город:
    Москва -- Киев
  • ISBN:
    978-5-8459-1684-6
  • Рейтинг:
    3.93/5. Голосов: 141
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Герберт Шилдт - C# 4.0: полное руководство краткое содержание

C# 4.0: полное руководство - описание и краткое содержание, автор Герберт Шилдт, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

В этом полном руководстве по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки.


Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию

C# 4.0: полное руководство - читать онлайн бесплатно ознакомительный отрывок

C# 4.0: полное руководство - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Герберт Шилдт
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

-------------------------------

ПРИМЕЧАНИЕ

Существует также форма оператора into, предназначенная для использования вместе с оператором join, создающим групповое объединение, о котором речь пойдет далее в этой главе.

-------------------------------

Ниже приведен пример программы, в которой оператор intoиспользуется вместе с оператором group. Эта программа является переработанным вариантом предыдущего примера, в котором список веб-сайтов формируется по имени домена самого верхнего уровня. А в данном примере первоначальные результаты запроса сохраняются в переменной диапазона ws и затем отбираются для исключения всех групп, состоящих менее чем из трех элементов.

// Использовать оператор into вместе с оператором group.

using System;

using System.Linq;

class IntoDemo {

static void Main() {

string[] websites = { "hsNameA.com", "hsNameB.net",

"hsNameC.net", "hsNameD.com", "hsNameE.org", "hsNameF.org",

"hsNameG.tv", "hsNameH.net", "hsNamel.tv"

};

// Сформировать запрос на получение списка

// веб-сайтов, группируемых

//по имени домена самого верхнего уровня, но выбрать только те

// группы, которые состоят более чем из двух членов.

// Здесь ws — это переменная диапазона для ряда групп,

// возвращаемых при выполнении первой половины запроса,

var webAddrs = from addr in websites

where addr.LastIndexOf('.') != -1

group addr by addr.Substring(addr.LastIndexOf('.'))

into ws where ws.Count() > 2 select ws;

// Выполнить запрос и вывести его результаты.

Console.WriteLine("Домены самого верхнего уровня " +

"с более чем двумя членами.");

foreach(var sites in webAddrs) {

Console.WriteLine("Содержимое домена: " + sites.Key);

foreach(var site in sites)

Console.WriteLine (" " + site);

Console.WriteLine();

}

}

}

Эта программа дает следующий результат:

Домены самого верхнего уровня с более чем двумя членами.

Содержимое домена: .net

hsNameB.net

hsNameC.net

hsNameH.net

Как следует из результата выполнения приведенной выше программы, по запросу возвращается только группа .net, поскольку это единственная группа, содержащая больше двух элементов.

Обратите особое внимание в данном примере программы на следующую последовательность операторов в формируемом запросе.

group addr by addr.Substring(addr.LastIndexOf('.'))

into ws where ws.Count() > 2 select ws;

Сначала результаты выполнения оператора groupсохраняются как временные для последующей обработки оператором where. В качестве переменной диапазона в данный момент служит переменная ws. Она охватывает все группы, возвращаемые оператором group. Затем результаты запроса отбираются в операторе whereс таким расчетом, чтобы в конечном итоге остались только те группы, которые содержат больше двух членов. Для этой цели вызывается метод Count(), который является методом расширения и реализуется для всех объектов типа IEnumerable. Он возвращает количество элементов в последовательности. (Подробнее о методах расширения речь пойдет далее в этой главе.) А получающаяся в итоге последовательность групп возвращается оператором select.

Применение оператора let для создания временной переменной в запросе

Иногда возникает потребность временно сохранить некоторое значение в самом запросе. Допустим, что требуется создать переменную перечислимого типа, которую можно будет затем запросить, или же сохранить некоторое значение, чтобы в дальнейшем использовать его в операторе where. Независимо от преследуемой цели, эти виды функций могут быть осуществлены с помощью оператора let. Ниже приведена общая форма оператора let:

let имя = выражение

где имя обозначает идентификатор, получающий значение, которое дает выражение. Тип имени выводится из типа выражения.

В приведенном ниже примере программы демонстрируется применение оператора letдля создания еще одного перечислимого источника данных. В качестве входных данных в запрос вводится массив символьных строк, которые затем преобразуются в массивы типа char. Для этой цели служит еще один метод обработки строк, называемый ToCharArray()и возвращающий массив, содержащий символы в строке. Полученный результат присваивается переменной chrArray, которая затем используется во вложенном операторе fromдля извлечения отдельных символов из массива. И наконец, полученные символы сортируются в запросе, и из них формируется результирующая последовательность.

// Использовать оператор let в месте с вложенным оператором from.

using System;

using System.Linq;

class LetDemo {

static void Main() {

string[] strs = { "alpha", "beta", "gamma" };

// Сформировать запрос на получение символов, возвращаемых из

// строк в отсортированной последовательности. Обратите внимание

// на применение вложенного оператора from,

var chrs = from str in strs

let chrArray = str.ToCharArray()

from ch in chrArray orderby ch

select ch;

Console.WriteLine("Отдельные символы, отсортированные по порядку:");

// Выполнить запрос и вывести его результаты,

foreach(char с in chrs) Console.Write(с + " ");

Console.WriteLine();

}

}

Вот к какому результату приводит выполнение этой программы.

Отдельные символы, отсортированные по порядку:

a a a a a b e g h l m m p t

Обратите внимание в данном примере программы на то, что в операторе letпеременной chrArrayприсваивается ссылка на массив, возвращаемый методом str.ToCharArray().

let chrArray = str.ToCharArray()

После оператора letпеременная chrArrayможет использоваться в остальных операторах, составляющих запрос. А поскольку все массивы в C# преобразуются в тип IEnumerable, то переменную chrArrayможно использовать в качестве источника данных для запроса во втором, вложенном операторе from. Именно это и происходит в рассматриваемом здесь примере, где вложенный оператор fromслужит для перечисления в массиве отдельных символов, которые затем сортируются по нарастающей и возвращаются в виде конечного результата.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Герберт Шилдт читать все книги автора по порядку

Герберт Шилдт - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




C# 4.0: полное руководство отзывы


Отзывы читателей о книге C# 4.0: полное руководство, автор: Герберт Шилдт. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x