В части II рассматриваемся библиотека классов С#, которая одновременно является библиотекой классов для среды .NET Framework. Эта библиотека довольно обширна, но за недостатком места в этой книге просто невозможно описать ее полностью. Поэтому в части II основное внимание уделяется корневой библиотеке, которая находится в пространстве имен System. Кроме того, в этой части рассматриваются коллекции, организация многопоточной обработки, сетевого подключения к Интернету, а также средства TPL и PLINQ. Это те части более обширной библиотеки классов, которыми пользуется всякий, программирующий на языке С#.
Книга для всех программирующих
Для чтения этой книги вообще не требуется иметь опыт программирования. Если вы уже знаете C++ или Java, то сможете довольно быстро продвинуться в освоении излагаемого в книге материала, поскольку у C# имеется немало общего с этими языками. Даже если вам не приходилось программировать прежде, вы сможете освоить С#, но для этого вам придется тщательно проработать примеры, приведенные в каждой главе книги.
Необходимое программное обеспечение
Для компилирования и выполнения примеров программ на C# 4.0, приведенных в этой книге, вам потребуется пакет Visual Studio 2010 (или более поздняя версия).
Код, доступный в Интернете
Не забывайте о том, что исходный код для примеров всех программ, приведенных в этой книге, свободно доступен для загрузки по адресу www.mhprofessional. com.
Эта книга — своеобразный "ключ" к целой серии книг по программированию, написанных Гербертом Шилдтом. Ниже перечислены другие книги, которые могут представлять для вас интерес.
Для изучения языка программирования Java рекомендуются следующие книги.
Полный справочник по Java (ИД " Вильямс", 2007 г.)
]ava: руководство для начинающих (ИД " Вильямс", 2008 г.)
SWING: руководство для начинающих (ИД "Вильямс", 2007 г.)
Искусство программирования на Java (ИД "Вильямс", 2005 г.)
Java. Методики программирования Шилдта (ИД "Вильямс", 2008 г.)
Для изучения языка программирования C++ особенно полезными окажутся следующие книги.
Полный справочник по C++ (ИД "Вильямс", 2007 г.)
C++. Руководство для начинающих (ИД "Вильямс", 2005 г.)
STL Programming From the Ground Up Искусство программирования на С++
С++. Методики программирования Шилдта (ИД "Вильямс", 2009 г.)
Если же вы стремитесь овладеть языком С, составляющим основу всех современных языков программирования, вам будет интересно прочитать книгу
Полный справочник по С (ИД "Вильямс", 2007 г.)
Вы, читатель этой книги, и есть главный ее критик и комментатор. Мы ценим ваше мнение и хотим знать, что было сделано нами правильно, что можно было сделать лучше и что еще вы хотели бы увидеть изданным нами. Нам интересно услышать и любые другие замечания, которые вам хотелось бы высказать в наш адрес.
Мы ждем ваших комментариев и надеемся на них. Вы можете прислать нам бумажное или электронное письмо, либо просто посетить наш Web-сервер и оставить свои замечания там. Одним словом, любым удобным для вас способом дайте нам знать, нравится или нет вам эта книга, а также выскажите свое мнение о том, как сделать наши книги более интересными для вас.
Посылая письмо или сообщение, не забудьте указать название книги и ее авторов, а также ваш обратный адрес. Мы внимательно ознакомимся с вашим мнением и обязательно учтем его при отборе и подготовке к изданию последующих книг. Наши координаты:
E-mail: info0williamspublishing. com
WWW: http://www.williamspublishing.com
Информация для писем из:
России: 127055, г. Москва, ул. Лесная, д. 43, стр. 1
Украины: 03150, Киев, а/я 152
В части I рассматриваются отдельные элементы языка С#, в том числе ключевые слова, синтаксис и операторы. Описывается также ряд основополагающих методов программирования, тесно связанных с языком С#, включая организацию ввода-вывода и рефлексию.
ГЛАВА 1 Создание C#
ГЛАВА 2 Краткий обзор элементов C#
ГЛАВА 3 Типы данных, литералы и переменные
ГЛАВА 4 Операторы
ГЛАВА 5 Управляющие операторы
ГЛАВА 6 Введение в классы, объекты и методы
ГЛАВА 7 Массивы и строки
ГЛАВА 8 Подробнее о методах и классах
ГЛАВА 9 Перегрузка операторов
ГЛАВА 10 Индексаторы и свойства
ГЛАВА 11 Наследование
ГЛАВА 12 Интерфейсы, структуры и перечисления
ГЛАВА 13 Обработка исключительных ситуаций
ГЛАВА 14 Применение средств ввода-вывода
ГЛАВА 15 Делегаты, события и лямбда-выражения
ГЛАВА 16 Пространства имен, препроцессор и сборки
ГЛАВА 17 Динамическая идентификация типов, рефлексия и атрибуты
ГЛАВА 18 Обобщения
ГЛАВА 19 LINQ
ГЛАВА 20 Небезопасный код, указатели, обнуляемые типы и разные ключевые слова
C# является основным языком разработки программ на платформе .NET корпорации Microsoft. В нем удачно сочетаются испытанные средства программирования с самыми последними новшествами и предоставляется возможность для эффективного и очень практичного написания программ, предназначенных для вычислительной среды современных предприятий. Это, без сомнения, один из самых важных языков программирования XXI века.
Назначение этой главы — представить C# в его историческом контексте, упомянув и те движущие силы, которые способствовали его созданию, выработке его конструктивных особенностей и определили его влияние на другие языки программирования. Кроме того, в этой главе поясняется взаимосвязь C# со средой .NET Framework. Как станет ясно из дальнейшего материала, C# и .NET Framework совместно образуют весьма изящную среду программирования.
Генеалогическое дерево C#
Языки программирования не существуют в пустоте. Напротив, они тесно связаны друг с другом таким образом, что на каждый новый язык оказывают в той или иной форме влияние его предшественники. Этот процесс сродни перекрестному опылению, в ходе которого свойства одного языка приспосабливаются к другому языку, полезные нововведения внедряются в существующий контекст, а устаревшие конструкции удаляются. Таким путем развиваются языки программирования и совершенствуется искусство программирования. И в этом отношении C# не является исключением.
У языка программирования C# "богатое наследство". Он является прямым наследником двух самых удачных языков программирования: С и C++. Он также имеет тесные родственные связи с еще одним языком: Java. Ясное представление об этих взаимосвязях имеет решающее значение для понимания С#. Поэтому сначала определим, какое место занимает C# среди этих трех языков.
Язык С - начало современной эпохи программирования
Создание С знаменует собой начало современной эпохи программирования. Язык С был разработан Деннисом Ритчи (Dennis Ritchie) в 1970-е годы для программирования на мини-ЭВМ DEC PDP-11 под управлением операционной систему Unix. Несмотря на то что в ряде предшествовавших языков, в особенности Pascal, был достигнут значительный прогресс, именно С установил тот образец, которому до сих пор следуют в программировании.
Язык С появился в результате революции в структурном программировании в 1960-е годы. До появления структурного программирования писать большие программы было трудно, поскольку логика программы постепенно вырождалась в так называемый "макаронный" код — запутанный клубок безусловных переходов, вызовов и возвратов, которые трудно отследить. В структурированных языках программирования этот недостаток устранялся путем ввода строго определенных управляющих операторов, подпрограмм с локальными переменными и других усовершенствований. Благодаря применению методов структурного программирования сами программы стали более организованными, надежными и управляемыми.
И хотя в то время существовали и другие структурированные языки программирования, именно в С впервые удалось добиться удачного сочетания эффективности, изящества и выразительности. Благодаря своему краткому, но простому синтаксису в сочетании с принципом, ставившим во главу угла программиста, а не сам язык, С быстро завоевал многих сторонников. Сейчас уже нелегко представить себе, что С оказался своего рода "струей свежего воздуха", которого так не хватало программистам. В итоге С стал самым распространенным языком структурного программирования в 1980-е годы.