ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 11.12.2025

Просмотров: 3147

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

применения С#. Данная же книга должна в первую очередь обращать внимание на С#, как на язык программирования. Графические программы Windows будут кратко рас­ смотрены в первой главе, но вы должны хорошо понять основы С#, прежде чем пере­ ходить к программированию для Windows. Также вполне понятно, что некоторые опытные пользователи будут применять С# для создания сетевых, распределенных приложений. Однако из-за издательских ограничений невозможно включить эту тему в данную книгу. В книге С# для чайников распределенное программирование не рас­ сматривается. В ней совсем кратко рассмотрена платформа .NET — по той простой причине, что могущество языка С# во многом исходит из библиотек классов .NET Framework, которые используются этим языком.

Для того чтобы просто запустить программы, сгенерированные С#, нужна, как мини­ мум, общеязыковая исполняющая среда (Common Language Runtime — CLR). Visual Stu­ dio 2005 копирует систему CLR на вашу машину во время процедуры установки. В каче­ стве альтернативы можно загрузить весь пакет .NET, включая компилятор языка С# и множество других полезных инструментов, зайдя на Web-сайт компании Microsoft по ад­ ресу h t t p : / / m s d n . m i c r o s o f t . c o m . Ищите там набор инструментальных средств разработки программного обеспечения .NET (Software Development Toolkit — SDK).

Большинство программ, приведенных в этой книге, можно при необходимости создавать и в среде Visual Studio 2003. Исключениями являются программы, содержащие новые возможности, доступные только в языке С# 2.0, прежде все­ го обобщения и блоки итераторов. Имеется также более дешевая версия систе­ мы Visual Studio 2005 — С# Express 2005, и другие недорогие альтернативы, рассматриваемые в дополнительных главах.

Kaк использовать книгу

При создании настоящей книги авторами преследовалась цель сделать ее максималь­ но легкой в использовании, поскольку изучение нового языка и так достаточно трудное. Зачем же излишне его усложнять? Книга разделена на части. В первой части представле­ но введение в программирование на С# с использованием Visual Studio. В ней пошагово излагается создание двух различных типов программ. Авторы настоятельно рекоменду­ ют начать с этой части и прочесть данные две главы, прежде чем перейти к другим час­ тям книги. Даже если вы программировали ранее, базовая структура программы, создан­ ная в первой части, постоянно применяется во всей книге.

Главы в частях со второй по пятую являются самостоятельными. Они написаны так, чтобы можно было открыть книгу на любой из них и начать чтение. Если вы новичок в программировании, то должны полностью прочесть вторую часть, прежде чем идти да­ лее. Но если просто возвращаетесь назад, чтобы освежить свою память по некоторой оп­ ределенной теме, у вас не возникнет никаких проблем при переходе к разделу, и вам не нужно будет повторно перечитывать предыдущие 20 страниц.

И, конечно же, книгу завершают традиционная часть о "великолепных десятках" и дополнительные главы; много интересного можно найти и на компакт-диске, прила­ гаемом к книге.

Введение

21


Ниже приведено краткое описание каждой части книги.

Ч а с т ь I, " С о з д а н и е ваших первых программ на С # "

В этой части шаг за шагом рассматривается написание минимального графического приложения Windows с использованием интерфейса Visual Studio 2005. В ней также по­ казывается, как создать базовую структуру консольной программы С#, которая исполь­ зуется в других частях книги.

Ч а с т ь II, " О с н о в ы программирования в С # "

На базовом уровне пьесы Шекспира — это всего лишь набор слов, связанных вместе. С этой же точки зрения 90% любой программы С#, которую вы когда-либо напишете, состоит из создания переменных, выполнения арифметических действий и управления ходом выполнения программы. Во второй части внимание уделяется этим основным операциям.

Ч а с т ь III, " О б ъ е к т н о - о с н о в а н н о е программирование"

Одно дело — объявлять переменные где-либо в программе, добавлять и убирать их. И совсем другое — создавать реальные программы для реальных людей. В третьей части внимание уделяется тому, как организовывать данные так, чтобы их было легче исполь­ зовать при создании программы.

Ч а с т ь IV, " О б ъ е к т н о - о р и е н т и р о в а н н о е программирование"

Вы можете соединять части самолета так, как пожелаете, но пока вы не сложите их правильно, у вас нет ничего, кроме кучи деталей. И только когда вы соберете самолет так, что сможете запустить двигатели и использовать подъемную силу крыла — только тогда вы сможете лететь куда угодно.

В четвертой части объясняется, как превратить набор данных в реальный объект — объект, который имеет внутренние члены и может моделировать свойства реальных вещей. В этой части представлена сущность объектно-ориентированного программирования.

Ч а с т ь V, " З а базовыми к л а с с а м и "

После того как самолет оторвется от земли, он должен куда-нибудь лететь. Изучение клас­ сов и основ объектно-ориентированного программирования — это только начало. В данной части сделан следующий шаг: в ней представлены структуры, интерфейсы и обобщения, от­ крывающие доступ к более мощным объектно-ориентированным концепциям.

Ч а с т ь VI, " В е л и к о л е п н ы е д е с я т к и "

Язык С# силен в поиске ошибок в ваших программах — иногда кажется, что он даже слишком хорошо указывает на недостатки. Однако верите вы в это или нет, но С# все же пытается принести вам пользу. Каждая проблема, им обнаруженная, могла бы привести к другим проблемам, которые вам пришлось бы находить и локализовывать самостоятельно.

22

Введение


К сожалению, сообщения об ошибках могут сбивать с толку. В одной из глав этой части представлено десять наиболее общих сообщений об ошибках С# времени компи­ ляции, их значение, и как от них избавиться.

Многие читатели переходят в С# из других языков программирования. Во второй главе этой части описаны десять основных отличий между С# и его предком С++.

О прилагаемом CD-ROM

На прилагаемом компакт-диске содержится масса хороших вещей. Прежде всего на нем можно найти все исходные тексты из этой книги. Кроме того, на компакт-диске со­ держится набор полезных утилит. Утилита SharpDevelop не рекомендуется для полно­ масштабной разработки коммерческих программ, но она весьма полезна для написания небольших приложений или быстрого внесения изменений, чтобы не ждать, пока загру­ зится Visual Studio. Она полностью подходит для компиляции всех исходных текстов дан­ ной книги. Редактор TextPad представляет собой существенно усиленную версию стан­ дартного Блокнота. Он предоставляет прекрасную дешевую платформу для программиро­ вания на С#. Инструмент тестирования NUnit, очень популярный среди программистов на С#, проводит проверку вашего кода легче, чем из Visual Studio, SharpDevelop или TextPad. Не пренебрегайте компакт-диском и имеющимися на нем программами.

И, конечно, не забудьте о файле ReadMe, содержащем всю наиболее свежую ин­ формацию.

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

Этой пиктограммой помечен технический материал, который можно про­ пустить при первом чтении.

Данной пиктограммой выделены места, которые могут сохранить много ва­ шего времени и усилий.

Это необходимо запомнить, так как это важно.

Это также следует запомнить. Иначе оно настигнет вас тогда, когда вы меньше всего ожидаете, и создаст одну из действительно трудно находимых ошибок.

Данная пиктограмма указывает код, который можно найти на прилагаемом к этой книге компакт-диске. Эта возможность предназначена, чтобы избавить вас от лишнего набора, если ваши пальцы начали дрожать. Но не злоупот­ ребляйте ею — вы лучше поймете С#, если будете набирать текст программ самостоятельно.

Введение

23

Чтобы помочь вам, в книге используется несколько соглашений. Термины, которые не являются "настоящими словами", такие как имена переменных, напечатаны таким шрифтом. Листинги программ выделены из текста следующим образом:

u s e System ;

namespace MyNameSpace

{

p u b l i c c l a s s MyClass

{

}

}

Каждый листинг сопровождается ясным и понятным пояснением. Полные исходные тексты программ помещены на прилагаемый компакт-диск, в отличие от небольших фрагментов.

Наконец, вы увидите стрелки, как, например, во фразе: "Выберите команду меню F i l e ^ O p e n WithONotepad" . Это означает, что необходимо выбрать меню File. Затем из появившегося раскрывающегося меню выбрать O p e n With, и наконец, из следующего подменю выбрать Notepad.

Очевидно, что первым шагом должно быть изучение языка С# (в идеале используя для этого книгу С# 2005 для чайников, конечно). Вы можете потратить несколько меся­ цев на написание простых программ С#, прежде чем сделать следующий шаг — освоить создание приложений Windows. Вам придется потратить еще много месяцев на прило­ жения Windows, прежде чем вы начнете создавать программы, предназначенные для распространения через Интернет.

Тем временем вы можете поддерживать свои знания языка С# несколькими способами. Прежде всего, обратитесь к официальному источнику h t t p : //msdn. m i c r o s o f t . com/ msdn. Кроме того, на различных Web-сайтах для программистов имеется обширный ма­ териал по языку С#, включая живые обсуждения разных вопросов — от того, как сохра­ нить исходный файл, и до сравнения свойств детерминистической и недетерминистиче­ ской сборки мусора. Вот список нескольких больших сайтов по С#:

•S

h t t p : / / m s d n . m i c r o s o f t . c o m , который направит вас

на соответствующие

 

сайты групп разработчиков, включая С# и платформу .NET;

 

S

h t t p : //blogs . msdn . com/csharpf aq, блог "Часто задаваемые вопросы по С#";

S

h t t p : / / m s d n . m i c r o s o f t . c o m / v c s h a r p / t e a m / b l o g s ,

который содержит

I

личные блоги членов группы разработки С#;

 

 

 

•S www.cs2themax.com.

 

Один из авторов книги поддерживает

Web-сайт www. c h u c k s p h a r . com, содержа­

щий ряд часто задаваемых вопросов (FAQ).

Если вы столкнетесь с чем-то, чего не смо-

24

Введение


жете понять, попробуйте посетить этот сайт — возможно, в FAQ уже есть ответ на ваш вопрос. Кроме того, сайт содержит список ошибок, которые могли пробраться в книгу. И наконец — имеется в виду действительно крайний случай — вы можете найти ссылку на адреса электронной почты авторов и написать им, если не сможете найти ответ на свой вопрос на сайте.

Введение

25

Часть I

Создание ваших первых программ на С#

Вы должны пройти длинный путь, прежде чем овладеете языком С#, так что немного отвлекитесь, прежде чем идти по нему. В первой части вы попробуете на вкус программирование графики Windows, пошагово создавая базовое приложение Windows при помощи интерфейса Visual Studio 2005. В этой части также будет показана разработка базовой структуры С# для демонстрационных программ, с которыми вы встре­ титесь в настоящей книге.

Глава 1

Создание вашей первой Windows-программы на С#

В этой главе...

>Что такое программа? Что такое С#?

>Создание Windows-программы

>Настройка Visual Studio 2005

этой главе будет немного рассказано о компьютерах, машинных языках, языке С# и Visual Studio 2005. Далее будет приведено пошаговое описание создания очень простой Windows-программы, написанной на С#.

Компьютер является удивительно быстрым, но невероятно глупым служащим. Компью­ теры будут делать все, о чем их попросят (в разумных пределах, конечно), и сделают это чрезвычайно быстро, так как они постоянно становятся все быстрее и быстрее. Во время написания этих строк процессор обычного персонального компьютера может выполнять миллиард команд в секунду. Да, вы правильно поняли — именно "ард", а не'"он".

К сожалению, компьютеры не понимают ничего похожего на человеческий язык. Вы, конечно, можете возразить: "Мой телефон позволяет позвонить моему другу, стоит мне всего лишь произнести его имя. А я знаю, что моим телефоном управляет крошечный компьютер. Значит, компьютер может говорить по-человечески". Но на самом деле ваши слова понимает компьютерная программа, а не сам компьютер.

Язык, который воспринимают компьютеры, называют машинным языком. Люди мо­ гут писать на нем, но это чрезвычайно трудно и приводит к частым ошибкам.

По историческим причинам машинный язык известен как ассемблер. В про­ шлом каждый изготовитель предоставлял программу, называемую ассембле­ ром, которая преобразовывала специальные слова в отдельные машинные ко­ манды. Таким образом, вы могли бы написать нечто действительно загадочное, наподобие MOV АХ, СХ (между прочим, это реальная команда процессора Intel). Ассемблер преобразовал бы эту команду в шаблон битов, соответствую­ щих единичной машинной команде.