ISBN 978-5-8459-1684-6 (рус.) ISBN 0-07-174116-Х (англ.)

Reference В

HERBERT SCHILDT

 

 

ПОЛНОЕ РУКОВОДСТВО

С#4.0

ГЕРБЕРТ ШИЛДТ

 

 

Москва • Санкт-Петербург • Киев 2011

ББК 32.973.26-018.2.75 Ш 57 УДК 681.3.07

Издательский дом "Вильямс"

Зав. редакцией С.Н. Тригуб Перевод с английского и редакция И.В. Берштейна

По общим вопросам обращайтесь в Издательский дом "Вильямс" по адресу: info@williamspublishing.com , http://www.williamspublishing.com

Шилдт, Герберт.

Ш57 C# 4.0: полное руководство. : Пер. с англ. — М. : ООО "И.Д. Вильямс", 2011. — 1056 с.: ил. — Парал. тит. англ.

ISBN 978-5-8459-1684-6 (рус.)

ББК 32.973.26-018.2.75

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

Никакая часть настоящего издания ни в каких целях не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами, будь то электронные или механические, включая фотокопирование и запись на магнитный носитель, если на это нет письменного разрешения издательства McGrow-Hill Higher Ed.

Authorized translation from the English language edition published by McGraw-Hill Companies, Copyright © 2010

All rights reserved. Except as permitted under the Copyright Act of 1976, no part of this publication may be reproduced or distributed in any form or by any means, or stored in a database or retrieval system, without the prior written permission of publisher, with the exception that the program listings may be entered, stored, and executed in a computer system, but they may not be reproduced for publication.

Russian language edition published by Williams Publishing House according to the Agreement with R&I Enterprises International, Copyright © 2011

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

Литературный редактор Е.П. Перестюк

Верстка А.В. Чернокозинская Художественный редактор С А. Чернокозинский Корректор АЛ. Гордиенко

Подписано в печать 17.09.2010. Формат 70x100/16. Гарнитура Times. Печать офсетная.

Уел. печ. л. 85,14. Уч.-изд. л. 51,55.

Тираж 1500 экз. Заказ № 24007.

Отпечатано по технологии CtP в ОАО "Печатный двор" им. А. М. Горького 197110, Санкт-Петербург, Чкаловский пр., 15.

ООО "И. Д. Вильямс", 127055, г. Москва, ул. Лесная, д. 43, стр. 1

© Издательский дом "Вильямс", 2011 © by The McGraw-Hill Companies, 2010

ISBN 978-5-8459-1684-6 (рус.) ISBN 0-07-174116-Х (англ.)

Оглавление

Содержание

 

Краткий обзор элементов C#

Точка с запятой и оформление исходного текста программы

Управляющие последовательности символов

Операторы

Поразрядные составные операторы присваивания

Объявление управляющих переменных в цикле for

Добавление метода в класс Building

Массивы и строки

Строки

Подробнее о методах и классах

Возврат объектов из методов

Необязательные аргументы и неоднозначность

Перегрузка операторов

Операторы преобразования

 

Индексаторы и свойства

 

Применение индексаторов и свойств

 

Наследование

 

Порядок вызова конструкторов

Упаковка и распаковка

 

Интерфейсы, структуры и перечисления

 

Инициализация перечисления

 

Обработка исключительных ситуаций

 

Получение производных классов исключений

 

Применение средств ввода-вывода

 

Использование класса FileStream для копирования файла

Применение классов StringReader и StringWriter

 

Делегаты, события и лямбда-выражения

 

События

Пространства имен, препроцессор и сборки

Директива #еггог

Получение типов данных из сборок

Обобщения

// ...

Сравнение экземпляров параметра типа

// ...

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

Формирование запросов с помощью методов запроса

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

Частичные методы

 

Библиотека C#

 

Структуры типов данных с плавающей точкой

Окончание табл. 21.9

Сортировка и поиск в массивах

Класс Tuple

Сцепление строк ,

Заполнение и обрезка строк

Определение пользовательского формата даты и времени

Свойство IsBackground

Семафор

Многопоточное программирование. Часть вторая: библиотека TPL

Другие средства организации задач

Вопросы эффективности PLINQ

Сортировка и поиск в коллекции типа ArrayList

Специальные коллекции

Класс DictionaryCTKey, TValue>

Сохранение объектов, определяемых пользователем классов, в коллекции

Создание именованного итератора

Исключения, генерируемые методом GetResponseStream ()

Дескрипторы XML-комментариев

п

 

 

Оглавление

 

Содержание

Глава 20. Небезопасный код, указатели, обнуляемые типы и разные ключевые слова 681

06 авторе

Герберт Шилдт (Herbert Schildt) является одним из самых известных специалистов по языкам программирования С#, C++, С и Java. Его книги по программированию изданы миллионными тиражами и переведены с английского на все основные иностранные языки. Его перу принадлежит целый ряд популярных книг, в том числе Полный справочник по Java , Полный справочник по C++, Полный справочник по С (все перечисленные книги вышли в издательстве "Вильямс" в 2007 и 2008 гг.). Несмотря на то что Герберт Шилдт интересуется всеми аспектами вычислительной техники, его основная специализация — языки программирования, в том числе компиляторы, интерпретаторы и языки программирования роботов. Он также проявляет живой интерес к стандартизации языков. Шилдт окончил Иллинойский университет и имеет степени магистра и бакалавра. Связаться с ним можно, посетив его веб-сайт по адресу www.HerbSchildt.com .

N

0 научном редакторе

Майкл ХоварД (Michael Howard) работает руководителем проекта программной защиты в группе техники информационной безопасности, входящей в подразделение разработки защищенных информационных систем (TwC) корпорации Microsoft, где он отвечает за внедрение надежных с точки зрения безопасности методов проектирования, программирования и тестирования информационных систем в масштабах всей корпорации. Ховард является автором методики безопасной разработки (Security Development Lifecycle — SDL) — процесса повышения безопасности программного обеспечения, выпускаемого корпорацией Microsoft.

Свою карьеру в корпорации Microsoft Ховард начал в 1992 году, проработав два первых года с ОС Windows и компиляторами в службе поддержки программных продуктов (Product Support Services) новозеландского отделения корпорации, а затем перейдя в консультационную службу (Microsoft Consulting Services), где он занимался клиентской поддержкой инфраструктуры безопасности и помогал в разработке заказных проектных решений и программного обеспечения. В 1997 году Ховард переехал в Соединенные Штаты и поступил на работу в отделение Windows веб-службы Internet Information Services, представлявшей собой веб-сервер следующего поколения в корпорации Microsoft, прежде чем перейти в 2000 году к своим текущим служебным обязанностям.

Ховард является редактором журнала IEEE Security & Privacy, часто выступает на конференциях, посвященных безопасности программных средств, и регулярно пишет статьи по вопросам безопасного программирования и проектирования программного обеспечения. Он является одним из авторов шести книг по безопасности информационных систем.

Благодарности