ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.12.2025
Просмотров: 3139
Скачиваний: 1
Предметный указатель |
507 |
Поиск |
509 |
Дополнительные возможности |
510 |
Автоперечисление членов |
511 |
Отладка |
512 |
Жучки в программе: а дустом не пробовали? |
512 |
Пошаговая отладка |
514 |
Главное — вовремя остановиться |
517 |
Стек вызовов |
520 |
Я сделал это! |
523 |
Глава 22. С# по дешевке |
525 |
Работа без сети — но не без платформы .NET |
526 |
Получение бесплатных компонентов |
526 |
Обзор цикла разработки |
527 |
Программирование на С# в программе SharpDevelop |
528 |
Изучение SharpDevelop |
528 |
Сравнение возможностей SharpDevelop и Visual Studio |
529 |
Получение справочной информации |
530 |
Настройка программы SharpDevelop |
531 |
Добавление инструмента для запуска отладчика |
531 |
Запуск отладчика из SharpDevelop |
532 |
Отсутствующие возможности отладчика |
534 |
Программирование на С# в TextPad |
534 |
Создание класса документов . CS для языка С# |
537 |
Добавление собственных инструментов: Build С# Debug |
538 |
Настройка инструмента для компиляции финальной версии |
540 |
Объяснение опций настройки инструментов Debug и Release |
541 |
Работа над ошибками компиляции |
545 |
Настройка остальных инструментов |
545 |
Тестирование с помощью программы NUnit |
548 |
Запуск программы NUnit |
548 |
Тестирование |
549 |
Написание тестов NUnit |
550 |
Исправление ошибок в проверяемой программе |
557 |
Написание исходного текста Windows Forms без Form Designer |
559 |
Это всего лишь код |
559 |
Работа в стиле визуального инструмента |
560 |
Частичные классы |
561 |
Самостоятельное написание |
562 |
Убедитесь, что пользователи смогут запустить вашу программу |
563 |
Visual Studio для бедных |
564 |
Предметный указатель |
565 |
Содержание |
15 |
Часть VI. Великолепные десятки |
373 |
Глава 16. Десять наиболее распространенных ошибок компиляции |
375 |
The name 'memberName' does not exist in the class or namespace 'className' |
375 |
Cannot implicitly convert type 'x' into 'y' |
377 |
'className.memberName' is inaccessible due to its protection level |
379 |
Use of unassigned local variable 'n' |
380 |
Unable to copy the file 'programName.exe' to 'programName.exe'. The process cannot... |
380 |
'subclassName.methodName' hides inherited member 'baseclassName.methodName'. |
|
Use the new keyword if hiding was intended |
381 |
'subclassName' : cannot inherit from sealed class 'baseclassName' |
382 |
'className' does not implement interface member 'methodName' |
383 |
'methodName' : not all code paths return a value |
383 |
} expected |
384 |
Глава 17. Десять основных отличий С# и С++ |
385 |
Отсутствие глобальных данных и функций |
386 |
Все объекты размещаются вне кучи |
386 |
Переменные-указатели запрещены |
387 |
Обобщенные классы С# и шаблоны С++ |
387 |
Никаких включаемых файлов |
388 |
Не конструирование, а инициализация |
388 |
Корректное определение типов переменных |
389 |
Нет множественного наследования |
389 |
Проектирование хороших интерфейсов |
389 |
Унифицированная система типов |
389 |
Часть VII. Дополнительные главы |
391 |
Глава 18. Эти исключительные исключения |
393 |
Старый способ обработки ошибок |
393 |
Возврат индикатора ошибки |
395 |
Чем плохи коды ошибок |
398 |
Использование механизма исключений для сообщения об ошибках |
400 |
Пример |
402 |
Создание собственного класса исключения |
405 |
Использование нескольких catch-блоков |
406 |
Как исключения протекают сквозь пальцы |
408 |
Регенерация исключения |
411 |
Как реагировать на исключения |
412 |
Перекрытие класса Exception |
413 |
Глава 19. Работа с файлами и библиотеками |
419 |
Разделение одной программы на несколько исходных файлов |
419 |
Разделение единой программы на сборки |
421 |
Объединение исходных файлов в пространства имен |
422 |
Содержание |
13 |
Стефан Р. Дэвис (Stephen R. Davis) (более известный по второму имени — Ренди) живет со своей женой и сыном недалеко от Далласа, штат Техас. Он и его семейство на писали множество книг, включая С++ для чайников (С++ For Dummies) и С++ Weekend Crash Course. Стефан работает в фирме L-3 Communications.
Чак Сфер (Chuck Sphar) ушел из подразделения Microsoft, работающего над до кументацией по языку С++, в 1997 году после шести лет тяжелой работы главным тех ническим писателем. Две его последние публикации были посвящены объектноориентированному программированию для Мае и библиотеке классов MFC. В настоя щее время он заканчивает роман о древнем Риме ( a g a i n s t r o m e . c o m ) и работает с программированием в среде .NET. Пожелания и мелкие замечания можно отсылать Чаку по адресу c s h a r p @ c h u c k s p h a r . com.
Пэм (Рат) и маме — Чак Сфер.
Я хотел бы поблагодарить Клодет Мур (Claudette Moore) и Дебби Маккенна (Debbie McKenna), которые заставили меня написать эту книгу. Я также хочу поблагодарить Ренди Дэвиса (Randy Davis) за его готовность передать своего "младенца" парню, кото рого он не знал. Я считаю, что это очень тяжело, и надеюсь, что был достаточно коррек тен, дополняя и расширяя первое издание его превосходной книги.
Должен также выразить благодарность прекрасным людям в издательстве Wiley, и в ча стности редактору Кейти Фелтман (Katie Feltman) и редактору проекта Киму Даросетту (Kim Darosett). Ким сумел поддержать меня в новой ипостаси — автора для чайников. Я также хотел бы поблагодарить Криса Боуера (Chris Bower) за его техническую консуль тацию и превосходное знание языка С#, Джона Эдвардса (John Edwards), которому книга обязана целостностью и согласованностью, а также художникам, специалистам по рекламе и другим людям, создавшим из моих файлов реальную книгу.
Выражаю сердечную благодарность Пэм за ее постоянную поддержку и помощь (much enabling). Она мне помогает во всем.
Чак Сфер.
Издательский дом "Вильяме" благодарит Ерофеева Сергея и Кущенко Сергея за боль шой вклад в подготовку издания книги.
Вы, читатель этой книги, и есть главный ее критик и комментатор. Мы ценим ваше мнение и хотим знать, что было сделано нами правильно, что можно было сделать лучше и что еще вы хотели бы увидеть изданным нами. Нам интересно услышать и любые дру гие замечания, которые вам хотелось бы высказать в наш адрес.
Мы ждем ваших комментариев и надеемся на них. Вы можете прислать нам бумаж ное или электронное письмо, либо просто посетить наш Web-сервер и оставить свои за мечания там. Одним словом, любым удобным для вас способом дайте нам знать, нравит ся или нет вам эта книга, а также выскажите свое мнение о том, как сделать наши книги более интересными для вас.
Посылая письмо или сообщение, не забудьте указать название книги и ее авторов, а также ваш обратный адрес. Мы внимательно ознакомимся с вашим мнением и обязатель но учтем его при отборе и подготовке к изданию последующих книг. Наши координаты:
E-mail: inf o@williamspublishing. com
WWW:http: //www. williamspublishing . com
Информация для писем из:
России: 115419, Москва, а/я 783 Украины: 03150, Киев, а/я 152
Введение
Язык программирования С# является мощным, относительно новым потомком более ранних языков С, С++ и Java. Программирование на нем доставляет много удовольствия, в чем можно будет убедиться при работе с этой книгой.
Язык С# был создан Microsoft как главная часть ее инициативы .NET. Возможно, из соображений политики компания Microsoft направила спецификации языка С# в комитет международных стандартов ассоциации ЕСМА (произносится как "эк-ма") летом 2000 года, задолго до внедрения платформы .NET. Теоретически любая компания может раз работать свою собственную версию языка С#, предназначенную для работы в любой операционной системе и на любой машине, большей, чем калькулятор.
Когда вышло первое издание настоящей книги, компилятор языка С# Microsoft был единственным, и ее инструментальный пакет Visual Studio .NET предлагал единственную возможность программирования на языке С#. С тех пор, однако, Visual Studio претерпел два существенных изменения — появилась версия Visual Studio 2003 и, совсем недавно, Visual Studio 2005. И, по крайней мере, еще два игрока вступили в игру С#.
В настоящее время можно писать и компилировать программы на языке С# на мно жестве машин, работающих под управлением Unix, при помощи реализаций Mono или Portable .NET платформы .NET и языка С#.
Mono (www. g o - m o n o . com) является программным проектом с открытым исход ным кодом, финансируемым компанией Novell Corporation. Версия 1.1.8 вышла В июне 2005 года. Хотя проект Mono и отстает от платформы .NET компании Mi crosoft (версию 1.1 Microsoft выпустила пару лет назад), он быстро развивается.
Проект Portable .NET фирм Southern Storm Software и DotGNU (www. d o t g n u . o r g / p n e t . h t m l ) также является проектом с открытым исходным кодом. Во время написания этой книги текущей версией проекта Portable .NET была 0.7.0.
Оба проекта предназначены для выполнения программ С# в Windows и различных операционных системах семейства Unix, включая Linux и Macintosh компании Apple. Ко гда писалась эта книга, проект Portable .NET работал на большем количестве платформ, в то время как проект Mono гордится более полной реализацией платформы .NET. Так что выбор между ними может быть затруднен, в зависимости от вашего проекта, плат формы и целей. (Книги по программированию для этих платформ уже становятся дос тупны. Посетите сайт www. a m a z o n . com.)
Программное обеспечение с открытым исходным кодом создается сотрудни чающими группами программистов-добровольцев и обычно является бесплат ным для всех.
Переносимость языка С# и других языков платформы .NET выходит далеко за рамки настоящей книги. Но можно ожидать, что в течение нескольких лет программы С# для Windows, которые можно научиться создавать по этой книге, будут работать на различ ном аппаратном обеспечении и для всех типов операционных систем, что соответствует требованиям для языка Java компании Sun Microsystems — о работе на любой машине. Это, несомненно, хорошая вещь, даже для Microsoft. Переносимость — вопрос, над ко-
торым в настоящее время идет интенсивная работа, так что нет никаких сомнений, что все трудности и препятствия на пути к истинной универсальной переносимости языка С# будут преодолены. Но этот путь является уже не только путем Microsoft.
Однако в настоящий момент пакет Visual Studio компании Microsoft содержит наибо лее развитые версии языка С# и платформы .NET, а также набор инструментов к ним с богатыми возможностями для программирования.
Если вам нужен только С#, то в одной из дополнительных глав вы узнаете, как практически бесплатно написать код С#. (Вы потеряете множество удобств, включая отличные средства визуального дизайна, обеспечиваемые Visual Studio 2005, но сможете создавать код Windows и без них — в особенности такой про стой код, как рассматриваемый в этой книге.)
Хотя в версию 2.0 языка С# был внесен ряд изменений, в основном С# остается прак тически таким же, как и в предыдущей версии. В этой книге рассматриваются следую щие значительные нововведения.
S Блоки итераторов: итератор представляет собой объект, который позволяет пройти по всем элементам набора, или коллекции объектов. Сделать это можно было всегда, но С# 2.0 значительно упрощает использование итераторов. Коллек ции рассматриваются в главе 15, "Обобщенное программирование".
SОбобщенное программирование является важным нововведением! Новые воз можности позволяют создавать более обобщенный и гибкий код, что является мечтой любого программиста. Из главы 15, "Обобщенное программирование", вы
узнаете, как создавать более простой код с улучшенной безопасностью типов с помощью обобщенного программирования.
Оставляя в стороне более сложные нововведения, следует упомянуть о нескольких более простых элементах в соответствующих разделах книги. (Не нужно беспокоиться, если что-то в этом Введении вам непонятно. Все станет ясно в процессе чтения соответ ствующих глав книги.)
Цель книги заключается в объяснении языка программирования С#, но для реального написания программ необходима специальная среда кодирования. Мы уверены, что большинство читателей будет использовать Microsoft Visual Studio, хотя предусмотрены и другие варианты. Основывая книгу на Visual Studio, мы попытались сделать долю Visu al Studio минимально необходимой. Можно было бы просто сказать: "Запускайте свою программу каким угодно образом", но вместо этого мы говорим: "Запускайте свою про грамму С# в Visual Studio нажатием клавиши <F5>". Мы хотим, чтобы вы могли сосре доточиться на самом языке С#, а не на том, как работают простые вещи.
Вполне понятно, что многие читатели, если не большинство, захотят использовать С# для создания графических приложений Windows, поскольку язык С# является мощ ным средством разработки подобных программ, но это всего лишь одна из областей
20 |
Введение |