Герберт Шилдт - C# 4.0 полное руководство - 2011
Обзор книги Герберт Шилдт - C# 4.0 полное руководство - 2011
ПОЛНОЕ
РУКОВОДСТВО
Su P# A n
Reference В
HERBERT SCHILDT
ПОЛНОЕ РУКОВОДСТВО
С#4.0
ГЕРБЕРТ ШИЛДТ
Москва • Санкт-Петербург • Киев 2011
ББК 32.973.26-018.2.75 Ш 57 УДК 681.3.07
Издательский дом "Вильямс"
Зав. редакцией С.Н. Тригуб Перевод с английского и редакция И.В. Берштейна
По общим вопросам обращайтесь в Издательский дом "Вильямс" по адресу: [email protected], 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, часто выступает на конференциях, посвященных безопасности программных средств, и регулярно пишет статьи по вопросам безопасного программирования и проектирования программного обеспечения. Он является одним из авторов шести книг по безопасности информационных систем.
Благодарности
Особая благодарность выражается Майклу Ховарду за превосходное научное редактирование книги. Его знания, опыт, дельные советы и предложения оказались неоценимыми.
Предисловие
эффективности и переносимости разрабатываемых ими программ. Они не менее требовательны к применяемым инструментальным средствам и особенно к языкам программирования. Существует немало языков программирования, но лишь немногие из них действительно хороши. Хороший язык программирования должен быть одновременно эффективным и гибким, а его синтаксис — кратким, но ясным. Он должен облегчать создание правильного кода, не мешая делать это, а также поддерживать самые современные возможности программирования, но не ультрамодные тенденции, заводящие в тупик. И наконец, хороший язык программирования должен обладать еще одним, едва уловимым качеством: вызывать у нас такое ощущение, будто мы находимся в своей стихии, когда пользуемся им. Именно таким языком и является С#.
рограммисты — люди требовательные, постоянно
ищущие пути повышения производительности,
Язык C# был создан корпорацией Microsoft для поддержки среды .NET Framework и опирается на богатое наследие в области программирования. Его главным разработчиком был Андерс Хейльсберг (Anders Hejlsberg) — известнейший специалист по программированию. C# происходит напрямую от двух самых удачных в области программирования языков: С и C++. От языка С он унаследовал синтаксис, многие ключевые слова и операторы, а от C++ — усовершенствованную объектную модель. Кроме того, C# тесно связан с Java — другим не менее удачным языком.