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

Здесь есть возможность читать онлайн «Герберт Шилдт - C# 4.0 полное руководство - 2011» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Старинная литература, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

C# 4.0 полное руководство - 2011: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «C# 4.0 полное руководство - 2011»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

C# 4.0 полное руководство - 2011 — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «C# 4.0 полное руководство - 2011», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

using System; using System.Linq;

class Contactlnfo {

public string Name { get; set; } public string Email { get; set; }

public string Phone { get; set; }

public Contactlnfo(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() {

Contactlnfo[] contacts = {

new Contactlnfo("Герберт", " Herb@HerbSchildt.com ", "555-1010"), new Contactlnfo("Том", " Tom@HerbSchildt.com ", "555-1101"), new Contactlnfo("Capa", " Sara@HerbSchildt.com ", "555-0110")

}; •

// Сформировать запрос на получение списка объектов типа EmailAddress. var emailList = from entry in contacts

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

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

// Выполнить запрос и вывести его результаты, foreach(EmailAddress е 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, содержащий имя и адрес электронной почты, получаемые из объекта типа Contactlnfo, хранящегося в массиве contacts. Но самое главное, что новые объекты типа EmailAddress создаются в операторе select во время выполнения запроса.

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

Запрос может состоять из нескольких операторов- f г от, которые оказываются в этом случае вложенными. Такие операторы 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', 1В', 'C' };

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

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

// циклическое обращение к массиву символов chrs2. var pairs = from chi in chrs

from ch2 in chrs2

select new ChrPair(chl, 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 chi in chrs

from ch2 in chrs2

select new ChrPair(chi, ch2);

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

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

Интервал:

Закладка:

Сделать

Похожие книги на «C# 4.0 полное руководство - 2011»

Представляем Вашему вниманию похожие книги на «C# 4.0 полное руководство - 2011» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «C# 4.0 полное руководство - 2011»

Обсуждение, отзывы о книге «C# 4.0 полное руководство - 2011» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x