1629295403-b876e2087bddebea4bc9666fb2377a02 (846199), страница 8
Текст из файла (страница 8)
1.12. Весело повторяйте этот процесс, вводя какой угоднотекст и копируя его, пока не устанете от этого.Возвращаясь к процессу создания приложения, вы можете быть поражены тем, насколько это все основано на рисунках и работе с мышью. Захват элементов управления,размещение их в форме, установка свойств — и всего лишь одна строка кода С#!Глава 1. Создание вашей первой Windows-программы на С#43Рис. 1.11. Функция автозавершения отображает названия свойств во время набора текстаРис.
1.12. Это работает!Вы можете поспорить, что программа делает не так уж много, но позвольте сэтим не согласиться. Посмотрите некоторые из более ранних книг по программированию для Windows, написанные до появления мастера приложений, и выувидите, как много часов заняло бы написание даже такого простого приложения, как это.П р о г р а м м и с т ы на Visual Basic 6.0, б е р е г и т е с ь !Для программистов на Visual Basic 6.0, которые есть среди вас, все это, возможно,кажется слишком приземленным. Действительно, F o r m s D e s i g n e r работает почти также, как и в поздних версиях Visual Basic.
Однако .NET F o r m s D e s i g n e r , применяемыйязыком Visual С#, намного более мощный, чем его двойник из Visual Basic 6.0. Плат- Iформа .NET и язык С# (а также и язык Visual Basic .NET в этом отношении) используютбиблиотеку подпрограмм .NET, которая является более мощной, обширной и целостной,чем старая библиотека Visual Basic. Кроме того, платформа .NET поддерживает разра-44Часть I. Создание ваших первых программ на С#ботку распределенных программ для сети, так же как и программ, применяющих множество языков, что не умеет Visual Basic.
Но главное усовершенствование F o r m s Designer,используемого языками С# и Visual Basic .NET, по сравнению с предшественником Visual Basic 6.0, заключается в том, что весь код, сгенерированный для вас, является кодом,который можно легко изменять. В Visual Basic 6.0 вы должны были довольствоватьсятем, что давал вам мастер проектирования.Глава 1. Создание вашей первой Windows-программы на С#45Глава 2Создание консольногоприложения на С#> Создание шаблона простого консольного приложения> Изучение шаблона простого консольного приложения> Составные части шаблона простого консольного приложенияаже начинающие программисты на С# в состоянии писать программы дляWindows.
Не верите? Тогда обратитесь к главе 1, "Создание вашей первойWindows-программы на С#". Однако изучение основ С# лучше проводить, не отвлекаясьна графический пользовательский интерфейс, а создавая так называемые консольные приложения, для которых требуется писать существенно меньше кода и которые значительно проще понимать.В этой главе Visual Studio понадобится для создания шаблона консольного приложения. Затем вручную этот шаблон будет несколько упрощен. Полученная в результате заготовка будет применяться для множества программ, рассматриваемых в данной книге.Основное предназначение настоящей книги — помочь вам понять С#. Вы не сможетесоздать, например, красивую трехмерную игру без знания языка С#.Создание шаблона консольногоприложенияОписанные далее действия предусматривают использование Visual Studio. Есливы работаете не в Visual Studio, а в другой среде программирования, то должныобратиться к ее документации либо просто ввести исходный текст в вашей среде разработки С#.Создание и с х о д н о й п р о г р а м м ыВыполните следующие шаги для создания консольного приложения С#.1.
Воспользуйтесь командой меню F i l e ^ N e w ^ P r o j e c t для формирования нового проекта.Visual Studio откроет окно с пиктограммами, представляющими различные типыприложений, которые вы можете создать.2. Выберите в окне New Project пиктограмму Console Application и щелкните на ней.Убедитесь, что в панели Project T y p e s вы выбрали Visual С# и Windows, иначеVisual Studio может создать неверный проект — например, приложения на языке программирования Visual Basic или Visual С++.
Затем щелкните на пиктограмме Console Application в панели Templates.Visual Studio требует создания проекта перед тем, как вы сможете начать вводитьисходный текст вашей программы. Проект представляет собой что-то вроде корзины, в которой хранятся все файлы, необходимые для разработки программы.Когда вы даете компилятору задание построить программу, он пересматриваетэту корзину в поисках файлов, требуемых для сборки программы.По умолчанию для вашего первого консольного приложения будет предложеноимя C o n s o l e A p p l i c a t i o n l , но в этот раз измените его на C o n s o l e A p p T e m p l a t e .
В последующих главах книги вы сможете открывать шаблон, сохранятьего под новым именем и сразу иметь все необходимое для начала работы.По умолчанию место для хранения проектов находится в папке, спрятанной глубоко в папке My D o c u m e n t s . Лично я предпочитаю размещать свои программыне там, где меня заставляют, а там, где мне хочется.
В главе 1, "Создание вашейпервой Windows-программы на С#", было показано, как изменить место храненияпроектов, предлагаемое по умолчанию, на С: \ C # P r o g r a m s (если вы хотите упростить себе работу с этой книгой).2. Щелкните на кнопке ОК.Немного пошуршав диском, Visual Studio сгенерирует файл P r o g r a m , c s . (Есливы посмотрите в окно Solution E x p l o r e r , то увидите и другие файлы.
Пока простоигнорируйте их существование. Если окно Solution E x p l o r e r отсутствует на экране, его можно вызвать командой V i e w O S o l u t i o n E x p l o r e r . ) Расширение исходных файлов С # — .CS. Имя P r o g r a m — это имя по умолчанию, присваиваемоефайлу программы.Содержимое вашего первого консольного приложения выглядит следующим образом:using...namespace{class{ConsoleAppTemplateProgramstaticvoid Main(string[]args){}IВдоль левой границы окна вы увидите несколько маленьких плюсов (+) и минусов (-) в квадратиках.
Щелкните на знаке + возле u s i n g . . .. Этим вы откроете область кода — эта весьма удобная возможность Visual Studio позволяет уменьшать неразбериху на экране, сворачивая области кода и пряча их долойс глаз программиста (но не компилятора!). После раскрытия области кода выувидите такие директивы:48Часть I. Создание ваших первых программ на С#using S y s t e m ;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 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 m e t h o d s . Обратите внимание,что такие имена могут включать пробелы. Кроме того, области могут быть вложены одна вдругую (еще одно преимущество над Visual Basic), но не могут перекрываться.В настоящий момент вам нужна только одна директива u s i n g S y s t e m .
Можно убрать остальные; если вам будет не хватать какой-то из них, компилятор не преминет сообщить об этом.Пробная поездкаЧтобы преобразовать исходный текст программы на С# в выполнимую программу,воспользуйтесь командой меню B u i l d ^ B u i l d C o n s o l e A p p T e m p l a t e . Visual Studio ответит следующим сообщением:-Build s t a r t e d : P r o j e c t :Debug Any CPU Csc.exe/noconfigConsoleAppTemplate,/nowarnConfiguration:( a n d much m o r e )Compile c o m p l e t e - - 0 e r r o r s , 0 w a r n i n g sConsoleAppTemplate - > С : \ C # P r o g r a m s \ .
. . ( a n d m o r e ) = = B u i l d :1 s u c c e e d e d or u p - t o - d a t e , 0 f a i l e d , 0 s k i p p e d = =Главное во всем этом — 1s u c c e e d e d в последней строке.Это общее правило в программировании: "succeeded" — это хорошо, "failed" —плохо.Для запуска программы воспользуйтесь командой меню D e b u g s S t a r t W i t h o u t D e bugging. Программа выведет на экран черное консольное окно и тут же завершится. Похоже, что она просто ничего не делает. Кстати, так оно и есть на самом деле.
Шаблон —это всего лишь пустая оболочка.Создание реального консольногоприложенияОтредактируйте файл P r o g r a m . c s , чтобы он выглядел следующим образом:using S y s t e m ;namespace C o n s o l e A p p T e m p l a t e{ // Фигурные с к о б к иГлава 2. Создание консольного приложения наС#49// Класс Program — о б ъ е к т ,p u b l i c c l a s s Programсодержащий наш к о д{// Это - н а ч а л о программы/ / Каждая программа и м е е т м е т о д M a i n ( )s t a t i c void Main(string[] args){/ / Немного к о д а , чтобы программа х о т ь ч т о - т о д е л а л а/ / Приглашение в в е с т и имя п о л ь з о в а т е л я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 О ;// Приветствие п о л ь з о в а т е л я с и с п о л ь з о в а н и е м в в е д е н н о г о имениConsole.WriteLine("Добрый день, " + sName);/ / Ожидание п о д т в е р ж д е н и я п о л ь з о в а т е л яC o n s o l e . W r i t e L i n e ( " Н а ж м и т е < E n t e r > для " +"завершенияпрограммы...");Console.Read();/ / Код M a i n ( ) н а э т о м з а к а н ч и в а е т с я} // Конец функции M a i n ( )} // Конец к л а с с а Program} // Конец п р о с т р а н с т в а имен C o n s o l e A p p T e m p l a t eНе волнуйтесь о тексте, находящемся в программе после двойной или тройной Iкосой черты (// или / / / ) , и не беспокойтесь, если вы введете пару лишних Iпробелов или пустых строк. Однако обращайте внимание на строчные и про- Iписные буквы.Для того чтобы превратить исходный текст из файла P r o g r a m .