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

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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

// если имя или номер телефона не найдены,

class NotFoundException : Exception {

/* Реализовать все конструкторы класса Exception. Эти конструкторы выполняют вызов конструктора базового класса. Класс NotFoundException ничем не дополняет класс Exception и поэтому не требует никаких дополнительных действий. */

public NotFoundException() : base() { }

public NotFoundException(string str) : base(str) { }

public NotFoundException(

string str, Exception inner) : base(str, inner) { }

protected NotFoundException(

System.Runtime.Serialization.SerializationInfo si,

System.Runtime.Serialization.StreamingContext sc) : base(si, sc) { }

}

// Базовый класс, в котором хранятся имя абонента

// и номер его телефона,

class PhoneNumber {

public PhoneNumber(string n, string num) {

Name = n;

Number = num;

}

public string Number { get; set; }

public string Name { get; set; }

}

// Класс для телефонных номеров друзей,

class Friend : PhoneNumber {

public Friend(string n, string num, bool wk) : base(n, num) {

IsWorkNumber = wk;

}

public bool IsWorkNumber { get; private set; }

// ...

}

// Класс для телефонных номеров поставщиков,

class Supplier : PhoneNumber {

public Supplier(string n, string num) : base(n, num) { }

// ...

}

// Этот класс не наследует от класса PhoneNumber.

class EmailFriend {

// ...

}

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

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

class PhoneList where T : PhoneNumber {

T[] phList;

int end;

public PhoneList() {

phList = new T[10];

end = 0;

}

// Добавить элемент в список,

public bool Add(T newEntry) {

if (end == 10) return false;

phList[end] = newEntry;

end++;

return true;

}

// Найти и возвратить сведения о телефоне по заданному имени,

public T FindByName(string name) {

for (int i = 0; i < end; i++) {

// Имя может использоваться, потому что его свойство Name

// относится к членам класса PhoneNumber, который является

// базовым по накладываемому ограничению,

if (phList[i].Name == name) return phList[i];

}

// Имя отсутствует в списке,

throw new NotFoundException();

}

// Найти и возвратить сведения о телефоне по заданному номеру,

public T FindByNumber(string number) {

for (int i = 0; i < end; i++) {

// Номер" телефона также может использоваться, поскольку

// его свойство Number относится к членам класса PhoneNumber,

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

if (phList[i].Number == number) return phList[i];

}

// Номер телефона отсутствует в списке.

throw new NotFoundException();

}

// ...

}

// Продемонстрировать наложение ограничений на базовый класс,

class UseBaseClassConstraint {

static void Main() {

// Следующий код вполне допустим, поскольку

// класс Friend наследует от класса PhoneNumber.

PhoneList plist = new PhoneList();

plist.Add(new Friend("Том", "555-1234", true));

plist.Add(new Friend("Гари", "555-6756", true));

plist.Add(new Friend("Матт", "555-9254", false));

try {

// Найти номер телефона по заданному имени друга.

Friend frnd = plist.FindByName("Гари");

Console.Write(frnd.Name + ": " + frnd.Number);

if (frnd.IsWorkNumber)

Console.WriteLine(" (рабочий)");

else

Console.WriteLine();

}

catch (NotFoundException) {

Console.WriteLine("He найдено");

}

Console.WriteLine();

// Следующий код также допустим, поскольку

// класс Supplier наследует от класса PhoneNumber.

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

Интервал:

Закладка:

Сделать

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

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


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

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