Герберт Шилдт - 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: полное руководство - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Герберт Шилдт
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Herb@HerbSchildt.com

Tom@HerbSchildt.com

Sara@HerbSchildt.com

Обратите особое внимание на следующий оператор select.

select entry.Address;

Вместо полного значения переменной диапазона этот оператор возвращает лишь его адресную часть (Address). Это означает, что по данному запросу возвращается последовательность символьных строк, а не объектов типа EmailAddress. Именно поэтому переменная s указывается в цикле foreachкак string. Ведь как пояснялось ранее, тип последовательности результатов, возвращаемых по запросу, определяется типом значения, возвращаемым оператором select.

Одной из самых эффективных для оператора selectявляется возможность возвращать последовательность результатов, содержащую элементы данных, формируемые во время выполнения запроса. В качестве примера рассмотрим еще одну программу. В ней определяется класс ContactInfo, в котором хранится имя, адрес электронной почты и номер телефона адресата. Кроме того, в этой программе определяется класс EmailAddress, использовавшийся в предыдущем примере. В методе Main()создается массив объектов типа ContactInfo, а затем объявляется запрос, в котором источником данных служит этот массив, но возвращаемая последовательность результатов содержит объекты типа EmailAddress. Таким образом, типом последовательности результатов, возвращаемой оператором select, является класс EmailAddress, а не класс ContactInfo, причем его объекты создаются во время выполнения запроса.

// Использовать запрос для получения последовательности объектов

// типа EmailAddresses из списка объектов типа ContactInfo.

using System;

using System.Linq;

class ContactInfo {

public string Name { get; set; }

public string Email { get; set; }

public string Phone { get; set; }

public ContactInfo(string n, string a, string p) {

Name = n;

Email = a;

Phone = p;

}

}

class EmailAddress {

public string Name { get; set; }

public string Address { get; set; }

public EmailAddress(string n, string a) {

Name = n;

Address = a;

}

}

class SelectDemo3 {

static void Main() {

ContactInfo[] contacts = {

new ContactInfo("Герберт", "Herb@HerbSchildt.com", "555-1010"),

new ContactInfo("Том", "Tom@HerbSchildt.com", "555-1101"),

new ContactInfo("Capa", "Sara@HerbSchildt.com", "555-0110")

};

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

// списка объектов типа EmailAddress.

var emailList = from entry in contacts

select new EmailAddress(entry.Name, entry.Email);

Console.WriteLine("Список адресов электронной почты:");

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

foreach(EmailAddress e in emailList)

Console.WriteLine(" {0}: {1}", e.Name, e.Address );

}

}

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

Список адресов электронной почты:

Герберт: Herb@HerbSchildt.com

Том: Tom@HerbSchildt.com

Сара: Sara@HerbSchildt.com

Обратите особое внимание в данном запросе на следующий оператор select.

select new EmailAddress(entry.Name, entry.Email);

В этом операторе создается новый объект типа EmailAddress, содержащий имя и адрес электронной почты, получаемые из объекта типа ContactInfo, хранящегося в массиве contacts. Но самое главное, что новые объекты типа EmailAddressсоздаются в операторе select во время выполнения запроса.

Применение вложенных операторов from

Запрос может состоять из нескольких операторов fгomот, которые оказываются в этом случае вложенными. Такие операторы fromнаходят применение в тех случаях, когда по запросу требуется получить данные из двух разных источников. Рассмотрим простой пример, в котором два вложенных оператора fromиспользуются в запросе для циклического обращения к элементам двух разных массивов символов. В итоге по такому запросу формируется последовательность результатов, содержащая все возможные комбинации двух наборов символов.

// Использовать два вложенных оператора from для составления списка

// всех возможных сочетаний букв А, В и С с буквами X, Y и Z.

using System;

using System.Linq;

// Этот класс содержит результат запроса,

class ChrPair {

public char First;

public char Second;

public ChrPair(char c, char c2) {

First = c;

Second = c2;

}

}

class MultipleFroms {

static void Main() {

char[] chrs = { 'A', 'В', 'C' };

char[] chrs2 = { 'X', 'Y', 'Z' };

// В первом операторе from организуется циклическое обращение

//к массиву символов chrs, а во втором операторе from —

// циклическое обращение к массиву символов chrs2.

var pairs = from ch1 in chrs

from ch2 in chrs2

select new ChrPair(ch1, ch2);

Console.WriteLine("Все сочетания букв ABC и XYZ: ");

foreach(var p in pairs)

Console.WriteLine("{0} {1}", p.First, p.Second);

}

}

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

Все сочетания букв ABC и XYZ:

А X

A Y

A Z

В X

В Y

В Z

С X

С Y

С Z

Этот пример кода начинается с создания класса ChrPair, в котором содержатся результаты запроса. Затем в нем создаются два массива, chrsи chrs2, и, наконец, формируется следующий запрос для получения всех возможных комбинаций двух последовательностей результатов.

var pairs = from ch1 in chrs

from ch2 in chrs2

select new ChrPair(ch1, ch2);

Во вложенных операторах fromорганизуется циклическое обращение к обоим массивам символов, chrsи chrs2. Сначала из массива chrsполучается символ, сохраняемый в переменной ch1. Затем перечисляется содержимое массива chrs2. На каждом шаге циклического обращения во внутреннем операторе fromсимвол из массива chrs2сохраняется в переменной ch2и далее выполняется оператор select. В результате выполнения оператора selectсоздается новый объект типа ChrPair, содержащий пару символов, которые сохраняются в переменных ch1и ch2на каждом шаге циклического обращения к массиву во внутреннем операторе from. А в конечном итоге получается объект типа ChrPair, содержащий все возможные сочетания извлекаемых символов.

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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