ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 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 больше значения переменной у, нет, здесь к замещает собой поня- |