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

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

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

Добавлен: 11.12.2025

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

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

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

using

System;

using

System. C o l l e c t i o n s . G e n e r i c ;

using

S y s t e m . T e x t ;

Области кода помогают сфокусироваться на коде, с которым вы работаете, скрывая код, который в данный момент не представляет интерес. Некоторые блоки кода, такие как блок пространств имен, блок классов, методов и т.п., получают значки + / - автома­ тически, без директивы # r e g i o n . Вы можете включить в исходный текст собственные сворачиваемые области, добавляя директиву # r e g i o n над интересующей частью кода, ко­

торую хотите иметь возможность сворачивать, и

# e n d r e g i o n после нее. Это позволит

дать имя вашей области, например, что-то вроде

P u b l i c methods. Обратите внимание,

что такие имена могут включать пробелы. Кроме того, области могут быть вложены одна в другую (еще одно преимущество над Visual Basic), но не могут перекрываться.

В настоящий момент вам нужна только одна директива u s i n g System. Можно уб­ рать остальные; если вам будет не хватать какой-то из них, компилятор не преминет со­ общить об этом.

Пробная поездка

Чтобы преобразовать исходный текст программы на С# в выполнимую программу, воспользуйтесь командой меню Build^Build ConsoleAppTemplate. Visual Studio отве­ тит следующим сообщением:

-Build

s t a r t e d :

P r o j e c t : ConsoleAppTemplate,

C o n f i g u r a t i o n :

Debug Any CPU

-

 

 

 

 

Csc.exe

/ n o c o n f i g

/nowarn

(and much

more)

 

Compile

complet e

--

0

e r r o r s , 0

warning s

 

 

ConsoleAppTemplate

- >

С:\C#Programs\ . . .

(and

m o r e ) = = B u i l d :

1

succeede d

or u p - t o - d a t e ,

0 f a i l e d ,

0 skipped= =

Главное во всем этом — 1

s u c c e e d e d в последней строке.

Это общее правило в программировании: "succeeded" — это хорошо, "failed" — плохо.

Для запуска программы воспользуйтесь командой меню D e b u g s Start W i t h o u t D e ­ bugging. Программа выведет на экран черное консольное окно и тут же завершится. По­ хоже, что она просто ничего не делает. Кстати, так оно и есть на самом деле. Шаблон — это всего лишь пустая оболочка.

Создание реального консольного приложения

Отредактируйте файл Program. c s , чтобы он выглядел следующим образом: using System;

namespace ConsoleAppTemplate { // Фигурные скобки

Глава 2. Создание консольного приложения наС#

49


// Класс Program — объект, содержащий наш код p u b l i c c l a s s Program

{

//

Это

-

начало программы

 

//

Каждая

программа имеет

метод Main()

s t a t i c

v o i d M a i n ( s t r i n g [ ]

args)

{

// Немного кода, чтобы программа хоть что - то делала

//Приглашение ввести имя пользователя

Console . WriteLine("Пожалуйста, введите ваше имя:") ;

// Считывание

вводимого имени

s t r i n g sName =

C o n s o l e . R e a d L i n e О ;

//Приветствие пользователя с использованием введенного имени Console . WriteLine("Добрый день, " + sName);

//Ожидание подтверждения пользователя

Console.WriteLine("Нажмите <Enter> для " + "завершения программы...");

 

C o n s o l e . R e a d ( ) ;

 

//

Код Main()

на этом заканчивается

}

//

Конец функции Main()

} //

Конец класса

Program

}// Конец пространства имен ConsoleAppTemplate

Не волнуйтесь о тексте, находящемся в программе после двойной или тройной I косой черты (// или / / / ) , и не беспокойтесь, если вы введете пару лишних I пробелов или пустых строк. Однако обращайте внимание на строчные и про- I писные буквы.

Для того чтобы превратить исходный текст из

файла P r o g r a m . c s в выполнимую I

программу C o n s o l e A p p T e m p l a t e . e x e , примените

команду меню Builds Build Con­

soleAppTemplate.

Чтобы запустить программу

из Visual Studio

2005, воспользуйтесь командой

меню

I

D e b u g ^ S t a r t Without Debugging. При этом вы увидите черное консольное окно, в ко-

|

тором будет выведено приглашение ввести ваше имя (вам может потребоваться активи-

1

зировать окно, щелкнув на нем мышью). После того как вы введете свое имя, программа

I

поприветствует вас и выведет надпись Нажмите

<Enter> для

завершения

про-

|

граммы.... Нажатие клавиши <Enter> приведет к закрытию окна.

 

 

 

 

Эту же программу можно выполнить из командной строки DOS. Для этого откройте

 

окно DOS и введите следующее:

 

 

 

 

 

CD \C#Programs\ConsoleAppTemplate\bin\Debug

 

 

 

 

Теперь введите ConsoleAppTemplate для запуска программы.

Вывод программы

 

на экран будет точно таким же, как только что описано. Вы можете также перейти в пап­

 

ку \C#Programs\ConsoleAppTemplate\bin\Debug в Проводнике Windows и за­

 

пустить программу двойным щелчком на файле

ConsoleAppTemplate . е х е .

 

 

 

Для того чтобы открыть окно DOS, попробуйте воспользоваться командой ме­

 

ню T o o l s ' ^ C o m m a n d

Window. Если эта команда недоступна в вашем

меню

 

Visual Studio Tools,

воспользуйтесь командой меню Starts Ail Programs 1 ^

 

Microsoft Visual Studio 2005<=>Visual Studio ToolsoVisual Studio 2005

C o m ­

mand Prompt.

 

 

 

 

 

 

50

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

на

С#

 


В последующих подразделах будет рассмотрено, как работает созданное консольное приложение.

Схема программы

Базовая схема всех консольных приложений начинается со следующего кода:

using

System;

using

S y s t e m . C o l l e c t i o n s . G e n e r i c ;

using

System.Text;

namespace ConsoleAppTemplate

Программа начинает выполнение с первой строки, идущей после названия функции Main (), и заканчивается ее закрывающей фигурной скобкой. Пока что это все, что можно сказать по этому поводу.

Список директив u s i n g может находиться непосредственно до или после строки namespace ConsoleAppTemplate {. Порядок не имеет значения. В своем прило­ жении вы можете использовать множество разных вещей из .NET. О том, что такое про­ странство имен и зачем нужна директива u s i n g , будет рассказано в одной из дополни­ тельных глав.

Комментарии

Шаблон содержит массу строк, к которым добавляются другие строки, выглядящие следующим образом:

// Стартовая

т о ч к а программы

public s t a t i c

v o i d M a i n ( s t r i n g [ ] a r g s )

Первую строку этого фрагмента С# игнорирует — это строка комментария.

Любая строка, начинающаяся с символов // или / / / , представляет собой обычный текст, предназначенный для человека и полностью игнорируемый С#. Пока что / / и / / / рассматриваются как эквивалентные символы начала комментария.

Зачем включать в программу строки, которые будут проигнорированы компилято­ ром? Потому что комментарии помогают понять текст программы. Исходный текст — не

Глава 2. Создание консольного приложения на С#

51

такая уж легкая для понимания штука. Помните, что язык программирования — это ком­ промисс между тем, что понимает человек, и что понимает компьютер? Комментарии помогут вам при написании кода, а особенно тем (и это можете быть вы сами через ка­ кое-то время), кто будет заниматься вашей программой и пытаться понять ее логику. До­ бавление пояснений в программу сделает эту работу намного проще.

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

Т е л о программы

 

Ядро программы находится в блоке исходного текста, помеченного как M a i n ( ) :

//

Приглашение

ввести имя пользователя

C o n s o l e . W r i t e L i n e ( " П о ж а л у й с т а , введите ваше и м я : " ) ;

//

Считывание

вводимого имени

s t r i n g sName

= C o n s o l e . R e a d L i n e ( ) ;

//

Приветствие

пользователя

с использованием введенного имени

C o n s o l e . W r i t e L i n e ( " Д о б р ы й

день, " + sName),•

Вы можете сэкономить массу времени, воспользовавшись при вводе новой возможностью — Code Snippets (фрагменты кода), которая облегчает ввод рас­ пространенных инструкций, наподобие C o n s o l e . W r i t e L i n e . Нажмите ком­ бинацию клавиш <Ctrl+K>, а затем <Ctrl+X> для появления раскрывающегося меню Code Snippets. Прокрутите его до cw и нажмите клавишу <Enter>. Visual Studio вставит в тело программы инструкцию C o n s o l e . W r i t e L i n e () с точ­ кой ввода между скобками.

Если у вас имеется ряд сокращений типа cw, f o r и i f , которые легко запомнить, воспользуйтесь еще более быстрым методом: введите cw и нажмите клавишу <ТаЬ>. (Попробуйте также выделить несколько строк исходного текста, и нажать клавиши <Ctrl+K>, а затем <Ctrl+S>. Выберите из списка if — и выделенный текст окажется внутри конструкции i f . ) Более того, вы можете даже создавать собственные фрагменты.

Программа начинает работу с первой инструкции С#: C o n s o l e . W r i t e L i n e . Эта

команда выводит на экран строку Пожалуйста ,

введите ваше имя:.

Следующая инструкция считывает вводимую

пользователем строку и сохраняет ее

в переменной с именем sName (о переменных будет рассказано в главе 3, "Объявление переменных-значений"). В последней строке выполняется объединение строк Добрый день , с введенным именем пользователя, а также вывод получившейся в результате объединения строки на экран.

Последние строки заставляют компьютер ожидать, пока пользователь не нажмет кла­ вишу <Enter>. Эти строки обеспечивают приостановку выполнения программы, чтобы было время просмотреть на экране результаты ее работы:

// Ожидаем подтверждения пользователя

C o n s o l e . W r i t e L i n e ( " Н а ж м и т е < E n t e r > для " + "завершения программы ... ") ;

C o n s o l e . R e a d ( ) ;

52

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



В зависимости от того, как именно запущена программа, данный фрагмент может оказаться очень важным. В Visual Studio это можно сделать двумя способами. Если ис­ пользуется команда D e b u g ^ S t a r t , Visual Studio закрывает окно программы сразу же по ее завершении. То же происходит и при запуске программы двойным щелчком на пикто­ грамме файла в Проводнике Windows.

Вне зависимости от того, каким образом запускается программа, ожидание на­ жатия пользователем клавиши <Enter> перед завершением программы решает все проблемы.

Теперь вы можете удалить из шаблона строки от первого C o n s o l e . W r i t e L i n e до предпоследнего, и получите пустой, чистый метод Main () для использования в качестве шаблона для последующих консольных приложений. Но не убирайте последние инст­ рукции Console . WriteLin e и C o n s o l e . Read. Они понадобятся вам в ваших кон­ сольных приложениях.

Глава 2. Создание консольного приложения на С#

53

Часть ІІ

Основы программирования в С #

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

Глава 3

Объявление переменных-значений

>Создание места для хранения информации — переменные С#

>Использование целых чисел

>Работа с дробными числами

>Объявление других типов переменных

>Работа с числовыми константами

>Изменение типов

 

аиболее фундаментальной из всех концепций программирования является кон­

 

цепция переменной. Переменная С# похожа на небольшой ящик, в котором мож­

 

но хранить разные вещи (в частности, числа) для последующего применения. Термин пе­

 

ременная пришел из мира математики. Например, математик может сказать следующее:

 

Эта запись означает, что, начиная с этого момента, математик, используя п, подразу­

 

мевает 1 — т.е. пока он не изменит п на что-то другое (число, уравнение и т.д.).

 

Значение термина переменная в программировании не сильно отличается от его зна-

I

чения в математике. Программист на С# может написать:

 

Тем самым он определит "вещь" п и присвоит ей значение 1. Начиная с этого места

 

программы переменная п имеет значение 1 до тех пор, пока программист не заменит его

|

некоторым другим числом.

 

К сожалению для программистов, С# накладывает ряд ограничений на переменные —

 

ограничений, с которыми не сталкиваются математики.

 

Когда математик говорит: "и равно 1", это означает, что термин п эквивалентен 1.

 

Математик свободен в своем выборе переменных — например, он может сказать или на­

 

писать следующее:

 

х = у2+2у+1

 

Если к = у + 1 , то х = к2

 

Здесь математик записал квадратное уравнение. Вероятно, переменные х и у были где-то

 

определены ранее. Однако затем математик вводит еще одну переменную к, и дело не просто

 

в том, что ее значение на 1 больше значения переменной у, нет, здесь к замещает собой поня-