Про курс
Видео курс C# для начинающих – уникальный курс для новичков, который позволит Вам начать изучение языка программирования C#, не имея специальной предварительной подготовки. Все, что Вам нужно для того, чтобы успешно освоить данный курс – это базовые навыки работы с персональным компьютером. Вы сможете изучить современный язык программирования у себя дома с помощью наших видео уроков и учебных материалов под четкие и понятные инструкции опытного тренера.
Пройдя видео уроки по программированию на языке C#, Вы не только получите базовые навыки, но и сможете продолжить развиваться как разработчик платформы .NET. Со временем Вы сможете разрабатывать самые разнообразные приложения, начиная от оконных приложений и заканчивая высокопрофессиональными сайтами и корпоративными программными продуктами. Если Ваша цель освоить профессию программиста, этот курс – отправная точка.
Цей курс входить до спеціальності:
Попередні Вимоги
- Уверенное владение персональным компьютером
- Навыки работы с текстовыми редакторами
Ви навчитеся
- понимать устройство инфраструктуры .NET и возможности, которые она предоставляет
- создавать программные решения и проекты с использованием Visual Studio, возможностей языка C# и платформы .NET
- выбирать соответствующий тип для ваших переменных
- понимать отличие между типами данных
- использовать условные и циклические конструкции
- понимать работу рекурсии
- создавать и вызывать методы, понимать их назначение
- создавать и обрабатывать массивы данных
- выполнять сортировку массивов
- 16 год 3 хв
- 21.06.2013
- 9
- 05.02.2018
- російська
Що входить до курсу
×
Ви дійсно бажаєте відкрити доступ до тестування за курсом C# 5.0 Стартовый на 40 днів?
Здравствуйте, мы с вами приступаем к изучению курса C# Стартовый. Этот курс предназначен для тех, кто никогда не программировал или имеет к программированию косвенное отношение. Возможно слышал что-то о нем, возможно какие-то азы изучал в школе, кто-то, может быть, пытался изучать самостоятельно.
Хотелось бы сказать о языках программирования в общем. Языки программирования разрабатываются для того, чтобы программисты могли ставить задачи машине, а машина могла их выполнять. Программист пишет программу, которая представляет собой некий набор инструкций (команд), далее эта программа определенным образом преобразуется в машинные коды, и эти коды подаются процессору, который их и выполняет. Их еще называют инструкциями.
В мире программирования много различных языков программирования и много различных подходов. Например,
процедурные языки программирования. Процедурные языки, включают в себя самые простейшие конструкции, такие как переменные, условные конструкции, циклические конструкции, методы, массивы. В процедурных языках нет таких высокоуровневых понятий, как в объектно-ориентированных языках. А объектно-ориентированные языки, они в свою очередь тоже содержат все эти конструкции: и переменные, и условия, и циклы, и методы, и массивы, но при этом они имеют еще более расширенный функционал. Они имеют такие понятия как классы, благодаря которым можно строить объекты. Т.е объект – это уже более высокоуровневая сущность, работа с объектами требует достаточного внимания, достаточного опыта, при работе с объектами имеется множество своих правил. Объектно-ориентированные языки включают в себя намного больше, чем процедурные языки, но при этом они включаю в себя и ту функциональность, которая имеется и в процедурных языках.
C# - объектно-ориентированный язык, но для того чтобы Вам было проще понять этот язык, наш курс разделяется на две части: первая часть (это C# Стартовый) рассматриваются процедурные подходы, а во второй части (это C# Essential) будет рассматриваться именно объектно-ориентированная составляющая. Так, мы понимаем, что у нас есть процедурные языки и объектно-ориентированные языки, которые и включают в себя возможности процедурных языков.
А на чем же это все базируется? Это все базируется на двух понятиях: на алгоритме и на модели.
Алгоритм. Алгоритмирование – это написание простейших программ с использованием переменных, условий, циклов, методов и массивов. А моделирование – это другая часть. Моделирование позволяет формировать высокоуровневые понятия, моделирование позволяет представлять систему при помощи классов и объектов. А классы они уже содержат в себе алгоритмы. Т.е. у нас имеется алгоритм, и у нас имеется модель, содержащая этот алгоритм. Процедурные языки, не имеют возможности строить модели. Язык C# является объектно-ориентированным языком, поэтому он включает в себя как алгоритмическую часть, так и возможность работать с моделью.
В курсе C# Стартовый, мы будем рассматривать только работу с алгоритмами. Работу с моделью, работу с классами и объектами Вы будете рассматривать и изучать в курсе C# Essential, там же будут рассмотрены все конструкции относящиеся к объектно-ориентированному подходу, такие как классы, абстрактные классы, интерфейсы, делегаты и перечисления и множество других синтаксических конструкций языка C# которые мы не будем затрагивать на курсе C# Стартовый. C# Стартовый – это введение в программирование для тех, кто никогда не программировал. Курс C# Стартовый предназначен для того, чтобы мы научились алгоритмировать и использовать простейшие конструкции, которые содержит процедурная часть языка C#. Поэтому на этом курсе мы будем работать только с алгоритмическими конструкциями.
Тема сегодняшнего урока: «Знакомство с языком C#». Но только с его процедурной составляющей, потому что этот курс не будет затрагивать работу с объектами. Поэтому не пугайтесь, этот курс будет очень простой и Вы все поймете и со всем справитесь. Сегодня мы немного поговорим об истории развития языка C#. Совсем немного, потому что я думаю, что если Вы заинтересованы, то конечно же Вы зайдете на соответствующие ресурсы и сможете почитать «сплетни» об этом языке, историю его развития, кто его создатель, автор этого языка программирования, историю сопровождения и какие у него версии. Далее мы рассмотрим, а какие же программы можно писать, используя язык C#. Все ли можно написать с использованием языка C#, или какую-то разновидность программ все-таки не удастся написать, например, такую, как драйверы устройств. А может быть можно в каких-то отдельных случаях. Далее мы с Вами рассмотрим работу Visual Studio – это программа, в которой программисты пишут свои программы. Конечно же мы с вами должны будем рассмотреть саму структуру проектов, потому что прежде чем начать писать программу, мы должны создавать такие сущности как проекты. Далее мы рассмотрим некоторые стандартные шаблоны, по которым проекты строятся, потому что сегодня не принято программы писать в блокноте, уже существют специальные средства, удобные средства, с подсветкой синтаксиса, где будут подсвечиваться ключевые слова языка, который мы будем использовать. Уже будет встроена система автодополнения, которая называется IntelliSense. И многие говорят, что программировать на языке C# очень легко. Я вам скажу больше, мы даже на нем не программируем, мы пользуемся подсказками. Вы увидите эту систему автодополнения и Вы поймете, что мы фактически не программируем, а пользуемся этими подсказками, которые дает Visual Studio. Когда мы нажимаем одну кнопку, появляется IntelliSense и предлагает выбор.
А мы с Вами подойдем к первому пункту – история развития языка C#. Где мы любим искать и читать различные истории? Конечно-же на Википедии. Специализированные ресурсы, такие как MSDN, но сначала мы зайдем на Википедию и посмотрим. Обратите внимание, мы имеем страницу, которая полностью описывает язык C#. Обратите внимание на рубрикатор. Теперь же описываются и особенности языка, название, стандарты, версии языка и даже пример первой программы, различные реализации, примечания, ссылки на дополнительные ресурсы, которые описывают этот язык. Поэтому я Вам рекомендую зайти на эту страницу и почитать об этом языке. Конечно, когда Вы будете читать обратите внимание на то, что сегодня актуальна пятая версия языка C#. В первой версии язык C# содержал в себе такие-то синтаксические конструкции. ВО второй версии в языке C# появились другие синтаксические конструкции. Третья версия включила в себя еще дополнительные синтаксические конструкции. Четвертая еще, пятая еще. Также
имеются простейшие примеры. Поэтому я Вам рекомендую зайти на этот ресурс и немного почитать об это языке.
Как мы уже знаем, язык C# является объектно-ориентированным языком. Разработан он уже достаточно давно. С 1998 года прошло уже много лет. Это уже не молодой язык, каким мы его называли еще 6-7 лет назад. Это уже состоявшийся язык, который содержит очень богатый набор синтаксических конструкций, и скажу Вам больше – язык C# это уникальный язык, он в себя вобрал возможности многих других языков.
Многие языки программирования отличаются друг от друга определенными синтаксическими конструкциями, которые позволяют программисту выражать свои мысли так чтобы написанная программа легко читалась и была понятна другим программистам. Вот что сделал Андерс Хейлсберг – разработчик этого языка C#, он включил в язык C# все лучшие и удобные конструкции из других языков таких как: С++, Smalltalk и из многих других языков, и поэтому когда мы смотрим на современный C#, мы видим это чудо, этот язык синтаксически очень богат, и нет ни одного языка сегодня, который бы включал в себя такое богатство синтаксических конструкций, богатство выбора, это богатство возможностей реализации, это простота реализации программных решений. И когда языки что-то не могут сделать или им приходится делать это не одной конструкцией, то у C# настолько богатый синтаксис, что с его использованием мы можем писать программы быстрее, качественней и оптимальней. И потому сегодня большинство программистов выбирают именно язык C#, потому что он кардинально отличается от других языков. Я не знаю такого другого языка программирования, который бы включал в себя столько возможностей, столько синтаксических конструкций.
Мы с Вами перейдем к следующему пункту нашего урока. Мы должны рассмотреть какие же программы можно писать с помощью языка C#. Вы скажете: «Когда я выучу язык C# какие я смогу писать программы? Смогу ли я писать игры? А смогу я писать бизнес-приложения? А могу ли я написать калькулятор? А могу ли я фрилансить?» Сейчас посмотрим. На первом слайде перечень программ, которые можно писать на языке C#, более того здесь не полный список. Во-первый это настольные приложения, web-приложения, сервисы, программы для мобильных устройств, игровые программы и решения для бизнеса.
Теперь перейдем к следующему слайду и посмотрим. В настоящий момент у нас идут декстопные (настольные) приложения. Теперь Вы видите знакомый Word из офисного пакета. Мы понимаем, что для того чтобы воспользоваться текстовым процессором Word, нам нужно установить к себе на компьютер офисный пакет, который включает в себя такие приложения как Word, Excel, Access, Power Point для презентаций и многие другие. И такого вида приложения принято называть десктопными приложениями, те все что Вы устанавливаете к себе на компьютер и являются десктопные приложения. Можно ли писать такие приложения с помощью языка C#? Конечно!
Посмотрим на следующую разновидность приложений – это web-приложения. Вы скажете, что на этом слайде вы снова видите Office. Я скажу, что теперь мы видим Internet Explorer, а внутри его мы видим Office. Это Office 365. На самом деле этот Office находится на серверах Microsoft. И Вы к текстовому процессору Word получаете доступ удаленно. Он загружается к вам с серверов Microsoft и пока Вы находитесь в сеансе пользования Вашего браузера Вы можете использовать этот Office. Обратите внимание, у нас две разновидности офисных пакетов: это десктопный, тот который Вы можете установить к себе на компьютер, и web-Office, который находится удаленно, и Вы с ним работаете по подписке. Обратите внимание, такого рода приложения называются web-приложениями. Это не просто сайт, это сложное приложение, которое имеет много программной логики. Вы видите сколько у нас тут кнопок? Все эти кнопки имеют какую-то функциональность, когда мы на нее нажимаем и что-то происходит, например, подсвечивается текст или происходит редактирование документа. Итак, приложения бывают как десктопными, так и находящимися удаленно.
Смотрим дальше…. Сервисы – еще одна разновидность приложений. Что же они собой представляют? Сейчас посмотрим внимательно на эту картинку. Здесь я, а это мой друг. Обратите внимание, здесь описывается Windows Live Messenger. Смотрите, это сервер Microsoft, на котором находятся специальные программы – сервисы. Вот это он, это я, а это Вы. Вас нет в сети, но Вы можете подключится. Вы просто выключили компьютер, поэтому на этой диаграмме Вы загреены. Что в это время делает мой друг. Он чатится со мной. Он мне посылает сообщения через сервер, я их принимаю и посылаю свои сообщения в ответ. Потом он делает какие-то настройки и еще пользуется службой знакомств, хочет с кем-то познакомится. Вот это мой интерфейс, мое окошко. Вот это мой некий лог – специальный файл куда записывается история переписки. Значит, сервисы – это специальные сущности, мы их будем изучать на курсе Windows Communication Foundation – это технология, которая позволяет нам быстро строить такие сервисы. Сервис на стороне сервера называется провайдером, а тут эти сервисы, мы видим, что они немного отличатся, некие программные блоки, они называются сервисами-консьюмерами (потребителями). И он шлет провайдеру сообщение, чтобы провайдер переслал его мне, и я получаю сообщение. Вот такие сервисы используются для построения распределенных, чаще корпоративных систем. Мы же Microsoft программисты, а это значит, что все наши решения нацелены в большинстве случаев на поддержку бизнеса, на создание бизнес решений, на решение потребностей бизнеса.
Посмотрим далее... Это мобильные приложения. Можем ли мы писать на языке C# программы под мобильные приложения? Конечно же да! Даже в каталоге наших курсов Вы сможете найти курсы, которые позволят Вам изучить соответствующие технологии.
Смотрим дальше. А игры? Можно ли создавать игры? Конечно же можно! Обратите внимание! Microsoft выпускает приставку XBOX 360. Для нас тут даже показан KINECT – это устройство, которое позволяет нам имитировать деятельность. Ребята производят какие-то движения, система их распознает и оказывает какое-то влияние на происходящее на экране. Мы можем с использованием C# писать игры.
Смотрим дальше. Решения для бизнеса. Мы видим Microsoft Dynamics CRM. Это большое решение Microsoft, уже готовое решение. CRM – Client Relationship Management – это система для управления взаимосвязями с клиентами. У Microsoft много разных решений, имеются различные большие бухгалтерии такие как Navision, Axapta, имеются ERP системы – Enterprise Resource Planning – системы планирования ресурсов предприятия. Это уже большие готовые и настраиваемые решения. Когда Вы приобретаете такое решения, не всегда оно имеет весь необходимый функционал именно для Вашего бизнеса, для Вашей модели бизнеса и для Ваших потребностей, поэтому что Вам придется сделать? Вам придется найти программиста, который допишет некий модуль. Вы скажете: «Вот мне не хватает здесь одного столбца и мне еще нужно здесь ввести некие данные.» На этом месте мы видим некую многомерную аналитику. Сразу узнается многомерная аналитика. Нам придётся с использованием языка C# расширять существующие решения, которые поставляет Microsoft.
Мы с Вами рассмотрели те типы программных решений, которые мы имеем возможности создать с использованием языка C#. А что же мы не сможем создать с использованием языка C#. Мы не можем создавать драйверы устройств. Драйверы устройств – это специальный вид программ, который управляет устройствами такими как принтеры, видеокарты. Видеокарта – это тоже устройство, для нее тоже пишется специальная программа, но такие программы уже пишутся на низкоуровневых языках программирования либо на компилируемых языках программирования. А язык C# он интерпретируемый язык. Что это такое мы с вами будем изучать позже, разницу между компиляторами и интерпретаторами. Это тоже интересный момент. Какие программы мы еще не можем писать? Я бы сказал, что в связи с тем, что язык C# является интерпретируемым языком, то не совсем удобно на нем будет писать полноценные большие игры, как например HalfLife, Fear с таким богатым геймплеем, где очень много компьютерной графики. Дело в том, что такие игры пишутся не оптимально и на тех языках на которых они пишутся. Обычно ни пишутся на С++. И то программисты геймдевелоперы сидят и оптимизируют, используют даже низкоуровневые подходы, ассемблер и то, как мы видим, бывает, что эти игры тормозят. А язык C#, на нем можно написать технически игру, но я не уверен, что она будет достаточно оптимизированной. Потому пока мы не будем писать такие игры, хотя и можем это сделать. Значит мы не сможем писать на языке C# драйверы устройств. Мы сможем писать игры, но мы не будем писать большие игры, потому что язык C# интерпретируемый и более того Microsoft всеми своими решениями ориентировалась именно на поддержку бизнеса. Не столько на науку, не столько на игры, а именно на создание бизнес решений. Даже офисные решения. На данный момент туда входит даже SharePoint различные SRM, ERP системы. Все для бизнеса. Даже если мы зайдем на современный Skype то предлагаются communications именно для бизнеса. Microsoft – это компания, которая делает акцент именно на поставки бизнес решений. Все остальное – это вторично, и мы не будем Microsoft за это ругать, потому что Microsoft всегда специализировалась именно на бизнес-решениях.
А мы идем с Вами дальше. Вот мы на слайде «Преимущества языка C#». И какие же мы видим преимущества. Мы о них сегодня уже много говорили. Во-первых, C# - объектно-ориентированный язык, простой и в тоже время мощный язык программирования. C# - объединяет лучшие идеи современных языков программирования Java, C++, Visual Basic и т.д. C# - позволяет быстрее, чем любой другой язык, разрабатывать программные решения в основном за счет того, что мы имеем синтаксические абстракции, использование который позволяет писать программы быстрее. То есть у нас есть такие конструкции, которых нет в других языках. И поэтому используя одну конструкцию мы делаем то, что в других языках пришлось ы делать дольше с использованием нескольких конструкций, нескольких строчек кода. Также C# отличается надежностью и элегантностью. Что значит надежностью? Как сам язык C#, как компилятор, как среда разработки будет нас постоянно контролировать и держать в форме, держать в рамках. Она не позволит нам выполнять какие-то неправильные конструкции и выполнять неправильные действия. Элегантность означает, что это просто красивый язык, очень простой, он читается просто как этот текст.
Следующий слайд показывает среду разработки IDE. Что это такое? Это программа, которая называется Visual Studio. Это программа, в которой программисты пишут программы. По сути это просто текстовый редактор. Текстовый редактор с подсветкой синтаксиса, с множеством всяких удобностей для программиста. И эта большая программа, с которой мы теперь будем знакомиться, она обращается к одной очень-очень маленькой программке, которая называется компилятор. И все эти тексты, которые программист напишет здесь в Visual Studio, передаются в компилятор, которые он преобразовывает в такую форму, которая сможет выполнятся компьютером. Мы с Вами тоже сегодня это увидим.
Переходим на следующий слайд. Здесь у нас описан алгоритм создания программ на языке C#. На Этом месте посмотрим внимательно. Как же создаются программы? Какие основные шаги? Мы даже еще не видели Visual Studio, но мы себе абстрактно это представим. Первое что нужно сделать, это написать программу на языке программирования C#. Представьте, что мы его уже знаем или частично знаем. Мы написали нашу программу например в текстовом редакторе в Visual Studio, потому что Visual Studio включает в себя такой инструмент как текстовый редактор, где мы и будем писать нашу программу. Далее мы должны преобразовать нашу программу в исполняемый файл – exe файл. Обратите внимание! Здесь написано myProgram.exe. Exe – это сокращение от англ. Executable – исполняемый. Значит Visual Studio берет текст нашей программы и преобразовывает в тот файл, который мы сможем запустить двойным щелчком. Далее, когда мы пишем наши программы, мы иногда совершаем ошибки. И задача Visual Studio и компилятора – обнаруживать эти ошибки в программе, потому что если мы напишем не то ключевое слово или забудем поставить в нужном месте точку с запятой, то возможно это окажется недопустимым для нашей программы, потому что языки программирования отличаются от естественных языков более узким синтаксисом. Они не такие богатые как русский язык, например, но за то они более строгие. Если на русском языке я могу переставлять слова местами, то у языков программирования есть определенный порядок, у них своя грамматика. И мы с Вами будем изучать те ключевые слова, которые входят в язык программирования C#, конечно же мы будем изучать грамматику этого языка. Но не пугайтесь, эта не та грамматика, которая в русском языке. Это более простая грамматика, у которой всего несколько десятков маленьких правил. И я думаю, что изучение языка C# будет для Вас простым, не такое как для любого другого языка. И после того как наши ошибки, которые мы, возможно, допустили в программе будут исправлены, мы имеем возможность откомпилировать нашу программу, преобразовать ее в исполняемый файл и запустить эту программу. Но иногда у нас бывают и логические ошибки. Представьте, я пишу даже просто на листочке, пишу какое-то уравнение либо какую-то формулу и беру по ошибке вместо знака «+» ставлю знак «-». С точки зрения языка, с точки зрения алгебры «-» и «+» - это правильные знаки. Но здесь нужно было поставить «+» вместо «-». Это логическая ошибка. А если я вместо «+» поставлю какой-то несуществующий знак в алгебре, например, знак $, ты Вы скажете, что нет в математике такого арифметического знака, это синтаксическая ошибка. Компилятор может обнаруживать такие ошибки. А это логические ошибки, их еще называют «багами», с ними бороться очень сложно, потому что приходится перечитывать код программы и думать почему же результат программы не соответствует нашему ожиданию. И мы с вами будем рассматривать все эти шаги, которые вы видите на данном слайде.
Но некоторые из Вас скажут: «Что же это такое Visual Studio? Где мне его взять? Где мне его скачать?» Не беспокойтесь. Сейчас мы его установим с Вами. Зайдем в Internet Explorer – браузер и зайдем на сайт Microsoft.com – это сайт Microsoft. Смотрим что у нас здесь интересного? Products – это как раз продукты компании Microsoft. Server and Tools. Visual Studio. Кликаем и ждем. Теперь мы перейдем на сайт представляющий этот продукт. Вот - же сразу видна кнопка «Download». И мы попадаем на страничку загрузки Visual Studio. Я думаю, что если Вы слушаете этот курс, то Вы скорее всего уверенные пользователи и думаю, что Вы умеете устанавливать программы. Обратите внимание! Здесь Visual Studio Ultimate с Trial периодом. Вы можете выбрать нужную поставку, нужную версию Visual Studio. Я использую Ultimate Edition. Вы можете поставить бесплатную Visual Studio. Если Вы хотите, чтобы она была постоянно установлена, то выберите Visual Studio Express – это абсолютно бесплатный продукт. Он не будет включать в себя множество дополнений, но в первые несколько месяцев эти дополнения не будут Вам нужны. Поэтому Вы можете смело себе устанавливать какую-то Visual Studio из редакции Express Edition. У меня установлена Visual Studio Ultimate, Вы тоже можете ее попробовать. Выбираете язык, тип установки, загружаете, устанавливаете, и она устанавливается как обычная программа. И потом просто запускаете и у Вас открывается такое окно.
Что же теперь с ней делать? Как же мы напишем простую программу? Мы с Вами говорили, что существуют десктопные приложения, web-приложения, и много других приложений, но сегодня мы остановимся только на десктопных и посмотрим web-приложения, как мы разработаем какой-то простейший маленький сайт. Но здесь нам нужно поговорить, о чем. Десктопные приложения у нас бывают двух типов: оконные приложения и консольные приложения. Консольные приложения – это просто черный экран и белый текст, куда мы сможем вводить какие-то команды. Допустим, если нажмем Win+R и введем команду «cmd» то у нас появится Command Prompt – это и есть консоль. Консольное приложение. Многие их боятся. Там нужно вводить какие-то команды. Если ввести «help» то появится подсказка. Это мы выполнили команду. Теперь тут идет описание тех команд, которые мы сможем выполнить. Но зато консольное приложение очень удобно с точки зрения обучения программированию. Но не пугайтесь, мы не будем работать только в консоли. Мы будем работать и с консольными приложениями, и с полноценными оконными приложениями, и даже будем рассматривать примеры с использованием более продвинутых оконных приложений, которые строятся при помощи технологий WPF – Windows Presentation Foundation. Но пока первое приложение мы традиционно рассмотрим в консоли, потому что оно легкое, простое, быстро выполняется и в нем нет никаких лишних вспомогательных кодов, которые создаются по шаблону. А что такое оконные приложения? Мы его уже видели. Visual Studio – это пример полноценного оконного приложения, у которого есть такие элементы как меню, диалоговые окна и др. Вот эта разновидность приложений называется десктопными оконными приложениями.
Что мы хотим создать в первую очередь? Консольное приложение. Создадим его? Но сначала нужно создать проект, и он создастся автоматически. Давайте выберем пункт меню «Файл». Мы хотим открыть существующее или создать новое? Ссоздадим новое. Выбираем пункт «New». Здесь нам предлагается создать проект, веб сайт, team проект – это когда работает несколько программистов, например, 20 или 30, и они разрабатывают одну программу. Я думаю, что Вы все будете работать в таких больших командах, вот тогда вы будете использовать командный проект. Нас интересует просто обычный проект, потому что team проекты Вы научитесь создавать уже на нашем курсе по TFS – Team Foundation Server, Вы научитесь соединятся с Team сервером, брать оттуда программные коды, даже которые писали другие программисты и конечно же заливать свою работу. Веб-сайт мы создадим чуть попозже. Сейчас мы создадим просто обычный проект. После выбора пункта «New\Project» появляется окно, в котором идет куча шаблонов. Какие у нас здесь шаблоны? Visual C#. Здесь даже предлагается работа с другими языками. Нас пока не интересуют Visual C++, Visual Basic, SQL Server, Visual F#, JavaScript и др. Посмотрим Other Project Types. Там Вам пока ничего не понятно. Далее.. Modeling Project. Мы сегодня говорили об алгоритмировании и моделировании, а Modeling Project позволяет строить визуальные модели. Существует такой язык UML – Unified Modelling Language – унифицированный язык моделирования, которым нельзя программировать, но можно просто составлять модель. Вы можете нарисовать ее на листочке и сказать, что это такой объект, а этот объект общается с другим объектом. Но можно создать его и в Modeling Project. Это очень просто. Мы с Вами в дальнейшем это рассмотрим на наших курсах, на архитектуре это тоже рассматривается. Нас же интересует эта категория, где написано «Visual C#», потому что мы с Вами C# программисты. И если мы посмотрим, что предлагается, например разработка под Windows Store – магазин Microsoft. Также Windows приложения, web-приложения. Посмотрите сколько проектов под ASP.NET – это сложные web-приложения. Это пока они сложные, дальше они будут Вам не сложны. Дальше идут офисные приложения. Здесь мы можем разрабатывать приложения под Office. Это значит, что мы имеем возможность разрабатывать программы и дописывать части наших документов, которые мы создает в офисном пакете. Расширять работу с Excel, расширять работу с Word. Там встроен язык VBA – Visual Basic for Application, но его можно не использовать, мы можем все тоже самое сделать с помощью языка C#. Теперь мы можем знать только один язык, и не нужно изучать конструкции VBA и пытаться там что-то в офисном пакете так неудобно настроить. Дальше идут расширения под Android. Оказывается, мы на языке C# можем писать приложения под Android, более того, можно писать программы и под iOS. Дальше SharePoint, WCF – построение распределенных систем, WorkFlow – построение бизнес процессов.
Но нас интересует тут самое первое простое консольное приложение. Выбираем пункт Console Application. Обратите внимание! Здесь внизу предлагается как-нибудь назвать наш проект. Потом мы рассмотрим, что сам проект из себя представляет. Приведем пример, назовем его «MyFirstConsoleApp». Теперь нужно нажать кнопку ОК.
Справа в Solution Explorer – обозревателе решений появился наш проект, а слева открылся текстовый редактор, в котором мы можем писать программу и тут же появился набор пока непонятных конструкций.
1: using System;
2: using System.Collections.Generic;
3: using System.Linq;
4: using System.Text;
5: using System.Threading.Tasks;
6:
7: namespace ConsoleApplication3
8: {
9: class Program
10: {
11: static void Main(string[] args)
12: {
13:
14: }
15: }
16: }
Но не переживайте, вы скоро все эти конструкции поймете, они очень простые. Все равно первые три-четыре урока мы не будем изучать их. Мы будем работать только внутри операторных скобок на 13 строке. Главное что можно запомнить – это метод Main, который находится на 11 строке. Он всегда будет встречаться в ваших программах, но пока мы будем писать наши программы между открывающей и закрывающей операторными скобками метода Main и первое время не будем выходить за его пределы.
А где же сохранилось все что мы только что создали? Нажимаем правой кнопкой по файлу Solution и выбираем пункт меню Open Folder in File Explorer. Открылась папка, в которой находятся файлы созданного нами решения. Обратите внимание! Создалась папка «MyFirstConsoleApp», а внутри этой папки создался файл MyFirstConsoleApp.sln. Затем заходим в папку «MyFirstConsoleApp». Здесь мы видим файл проекта MyFirstConsoleApp.csproj. И как мы видим - инструмент Solution Explorer – является удобным средством для отображения файлов проектов прямо в VisualStudio. Далее, мы видим файл, в котором хранится код нашей программы – это файл Program.cs. Попробуем открыть его в Блокноте. И мы видим тот же код, отображается в Visual Studio, только без подсветки синтаксиса. Мы даже можем изменить программу в Блокноте. Например, Джефри Рихтер любит писать свои программы в Блокноте. Если Вы посмотрите его видео-уроки на WintellectNOW, то увидите, что он показывает свои примеры в текстовом редакторе. Вы также можете писать свои программы как в Visual Studio, так и Блокноте. Но чтобы писать программы в Блокноте, Вы должны обладать достаточным опытом, потому что C# на самом деле не такой простой, как может показаться с первого взгляда. А что в нем сложного? - спросите вы. А дело в том, что язык C# включает в себя очень много синтаксических конструкций, которые начинающие программисты не всегда могут запомнить с первого раза. А Visual Studio имеет специальный механизм автодополнения, который показывает программисту список конструкций, тем самым предоставляя некие подсказки во время написания программы. И я бы сказал, что мы даже не программируем на языке C#, а просто пользуемся подсказками, но это конечно же шутка.
Теперь давайте что-то напишем. Так как это консольное приложение, и мы уже видели окно консоли, теперь-же напишем первую программу. Традиционно все программисты пишут свою первую программу, в результате выполнения которой, на экран выводится фраза - «Hello world». Что нужно сделать в языке C# для этого? Для этого нужно написать следующую инструкцию. Начните вводить слово «Console». После начала ввода сразу появляется подсказка – этосистема автоматического дополнения. Она находит все существующие конструкции и подсказывает нам. В данном случае, когда мы ввели только 5 букв из слова, эта система уже предлагает его. Это класс Console. Нажимаем Enter и слово автоматически дописывается. Видите? Студия подчеркнула его. Она не понимает, что от нее требуется, ведь мы просто написали «Console». Ведь это имя объекта, к которому мы будем обращаться. У него есть возможности. Вы же видели, что такое консоль. Это специальное окошко. Почему же его называют консолью. Раньше программисты консолью называли одновременно две вещи: клавиатуру и экран. Не монитор, а именно экран. Клавиатура и экран – это консоль. Консоль – это собирательное понятие из двух физических устройств: клавиатуры и экрана. А что делает клавиатура? Она помогает организовать ввод информации. Все что вводит пользователь попадает в компьютер. А что делает экран? Он выводит результаты выполнения каких-то программ. Поэтому вместе, клавиатура и экран называются - консолью. Важно помнить! Существует объективная реальность, где мы с вами находимся в данный момент. Я вижу консоль смотря на клавиатуру своего ноутбука и на его экран. Я могу физически их потрогать. Но у нас имеет место еще и другой мир – это виртуальный мир, который находится за нашими экранами, это мир, в который мы не имеем возможности попасть. И этот мир постоянно моделирует какие-то виртуальные сущности, такие как игровые персонажи, окна и так далее. Microsoft даже назвали свою систему «окна», потому что они ассоциируют ее с окнами из объективной реальности.
А что теперь делаем мы с вами? Мы с вами описываем сущность из объективной реальности – это консоль. Мы хотим описать программно устройство ввода-вывода. Клавиатура и экран. И вот это слово «Console» оно и обозначает имя этой виртуальной сущности. Что я могу делать со своей клавиатурой? Я могу нажимать на кнопки, значит вводить информацию в компьютер. Экран может выводить все что угодно: картинки, тексты, видео, окна и все то, что вы видите на своем экране. И поэтому, для того чтобы мне обратится к моему виртуальному объекту - консоли, к виртуальному аналогу моей живой консоли я должен, после имени объекта поставить точку и сразу в интеллисенсе показывается интерфейс взаимодействия с этой консолью. Что такое – интерфейс взаимодействия? Это список всех тех команд, которые я могу давать объекту, с которым работаю.
Мы понимаем, что все объекты в жизни обладают двумя природами, это состояние и поведение. Состояние – это наша прическа, это цвет наших глаз, это наша одежда. Поведение – это то, как мы себя ведем. Например, идем мы домой. Заходим в подъезд, а консьержка говорит: «Вот, он хулиган!» Почему она судит что мы хулиганы? По нашему поведению. Если она говорит, что мы добропорядочные граждане, то она тоже судит по нашему поведению, потому что мы идем и здоровается. Но иногда она может оценить нас и по состоянию. Если я хиппи и у меня прическа с ирокезом, то скорее всего у человека с такой прической будет соответствующее – поведение. Запомните! Объекты, они обладают двумя природами – это состояние и поведение. Далее мы увидим, какими конструкциями языка C# описываются состояния и поведения объекта. Консоль – это очень маленький объект, но и у него свое: и состояние, поведение. Как их отличить друг от друга? В списке ключики – это состояния, кубики – это поведения. Об молниях будем говорить дальше – это события, которое с нами может произойти. А события происходят нежданно. Иногда мы готовимся к событиям, но все равно, когда оно для нас происходит, это какое-то происшествие. Эти события описываются молниями – вспышками.
А что мы хотим сделать с этой консолью? Мы хотели вывести на экран какую-то строку. Для этого мы должны сказать: «Консоль! Напиши на своем черном экране белыми буквами фразу - «Hello world». Мы должны обращаться к консоли как к живому персонажу, потому что все что за экраном в виртуальном мире – живое. Все программисты пишут такую программу, а кто не написал тот, наверное, не настоящий программист. Мы ее традиционно тоже напишем. Начинаем печатать «Write». В подсказке выводится две команды: Write и WriteLine. Выберем Write. Далее поставим круглые скобки и точку с запятой. Студия продолжает подчеркивать строку так как мы не указали что именно мы хотим вывести на экран. Нам нужно вывести строку, а строки в C# создаются в двойных кавычках. Теперь пишем ту фразу, которую мы хотим вывести на консоль. Вот что должно получится.
Console.Write("Hello world!");
Теперь нужно выполнить программу. Для этого нужно нажать клавишу F5 либо кликнуть правой кнопкой мыши в строке меню и выбрать панель Standard. На ней нужно нажать кнопку «Start». Это равносильно тому что мы нажмем F5. Теперь выполнимся. Что произошло? Консоль появилась и исчезла. Почему? Все очень просто. Консоль появляется, выводит на экран строку и сразу закрывается. Это происходит потому, что консоль выполнила поставленную перед ней задачу. Консоль вывела на экран строку и завершила работу, ее не волнует, что человек не успел увидеть написанное. Но кроме того, что консоль может выводить информацию на экран, она еще может принимать информацию от пользователя, ждать ввода. Когда я пишу – консоль читает. Обращаемся к консоли еще раз. Напишите «Console», точку, затем выберите «ReadKey» и сразу печатайте скобки. Система автодополнения допишет слово сама. Никогда не пишите ничего вручную, это опасно и вредно особенно на ранних этапах программирования. Старайтесь пользоваться только IntelliSense.
1: using System;
2: using System.Collections.Generic;
3: using System.Linq;
4: using System.Text;
5: using System.Threading.Tasks;
6:
7: namespace ConsoleApplication3
8: {
9: class Program
10: {
11: static void Main(string[] args)
12: {
13: Console.Write("Hello world!!!");
14: Console.ReadKey();
15: }
16: }
17: }
Мы говорим, чтобы консоль читала нажатую клавишу. Теперь консоль будет ждать пока мы не нажмем клавишу. Теперь нажимаем F5. Вот! Консоль вывела «Hello world!!!». Обратите внимание на мерцающий курсор. Это означает что консоль ждет, когда мы нажмем клавишу. Теперь можно нажать любую клавишу, например, «w». Когда нажимаем, видим, как буква «w» на миг появилась после «Hello world!!!» и консоль завершила свою работу.
Другой способ выполнения программы через Ctrl+F5. Нажимаем. В этом случае у нас тоже выполняется программа. Если нажать клавишу «w», то она выведется, но консоль не завершит свою работу. Она напишет «Press any key to continue…». Чем отличаются эти режимы мы разберем, когда у нас будет уже программный код, в котором будут уже переменные, когда нам нужно будет шагать по программе, смотреть, какие инструкции выполняются.
Теперь мы знаем, как строится первое приложение. Но как отдать бабушке свою первую написанную программу? Возвращаемся в нашу папку с проектом. Там есть папка «bin», в ней папка «Debug». Обратите внимание! Там появился exe файл MyFirstConsoleApp.exe. Выполняем его двойным кликом и видим свое приложение. Но можно ли отдавать бабушке этот файл? Я не рекомендую. Дело в том, что когда вы устанавливали Visual Studio, вместе с ним установили виртуальную машину, которая интерпретирует, которая выполняет ваши коды. А вместе с этой виртуальной машиной вы установили еще кучу функциональности. Какой функциональности? Ну вот смотрите. Консоль. Что такое консоль? Это просто текст? Нет! Мы можем зайти и посмотреть устройство этой консоли. Для этого нужно кликнуть по слову правой кнопкой мыши и выбрать «Go To Definition», либо нажать клавишу F12. И мы зашли в код, который писали программисты Microsoft. Это они создавали эту консоль. Смотрите сколько внутри они создали разной функциональности.
Возвращаемся. Значит у вас на компьютере установлено много всякой функциональности и на современных компьютерах она также. А вдруг у бабушки ее нет, или у нее устаревшая версия операционной системы или виртуальной машины. И получается, что у вас версия функциональности должна быть больше, ведь вы программисты и у вас ставится больше функциональности чем у обычных пользователей. И поэтому, если вы хотите отдать свою программу обычному пользователю на панели Standard в выпадающем списке вместо «Debug» установите «Release». В «Debug» вы работаете с программным кодом. Есть возможность шагать по программе, ставить точки останова. Но чтобы отдать программу пользователю ее нужно очистить от всей вспомогательной информации. И поэтому перед тем как отдать бабушке ставим на Release. Выполняемся и в папку bin появится новая папка Release, где и будет лежать исполняемый файл программы. Его можно скопировать или отправить по почте бабушке. Сейчас мы с вами рассмотрели первый вид приложений – это консольные приложения.
Если мы уберем точку с запятой на 13 строке и попытаемся выполнится, то появится ошибка. Она отобразится в Error List, где будет сказано, что пропущена точка с запятой. К сожалению, пока у нас нет искусственного интеллекта и Visual Studio самостоятельно не исправляет ошибки. Если мы исправим ошибку, то как проверить наличие других ошибок. Если я не хочу запускать приложение и видеть консоль, то нужно нажать клавишу F6. Если все нормально, то в статусной строке появится надпись «Build Succeeded».
Что касается логических ошибок, то попробуем вывести на экран сумму двух двоек. Для этого внутри скобок оператора Write напишем «2-2».
1: using System;
2: using System.Collections.Generic;
3: using System.Linq;
4: using System.Text;
5: using System.Threading.Tasks;
6:
7: namespace ConsoleApplication3
8: {
9: class Program
10: {
11: static void Main(string[] args)
12: {
13: Console.Write("Hello world!!!");
14: Console.Write(2-2);
15: Console.ReadKey();
16: }
17: }
18: }
На консоли выведется 0. Почему ноль? Потому что в выражении стоит неверный знак. Нужно поставить вместо минуса плюс. Ошибки компилятор не выдавал. Ошибка была логическая. Мы понимаем, что 2+2 не равно 0. Но компилятор этого не понимает. Выполнимся и увидим, что теперь результат равен 4. Но почему предыдущая строка и число слиплись? Можно ли сделать, чтобы четверка была на новой строке. Нужно выбрать другой метод вывода – WriteLine. Для этого удаляем слово Write и чтобы вызвать подсказку нажимаем комбинацию клавиш Ctrl+Space. Если вы помните старые печатные машинки, то там был рычаг, который переводил на новую строку. Так вот, Write – не переводит на новую строку, а WriteLine – переводит. Выполнимся...
1: using System;
2: using System.Collections.Generic;
3: using System.Linq;
4: using System.Text;
5: using System.Threading.Tasks;
6:
7: namespace ConsoleApplication3
8: {
9: class Program
10: {
11: static void Main(string[] args)
12: {
13: Console.WriteLine("Hello world!!!");
14: Console.WriteLine(2-2);
15: Console.ReadKey();
16: }
17: }
18: }
Теперь в консоли выводится две строки. На одной «Hello world!!!», на другой 4, на третьей мигает курсор. Для того чтобы завершить роботу программы нажмите любую клавишу, например, «q» и программа закроется. Это простейшее консольное приложение. Мы с вами помним, что консоль – это собирательное понятие у программистов. Это клавиатура и экран. И мы видим, что это бирюзовое слово – это виртуальный аналог, через который мы обращаемся к этой консоли.
Это было бы аналогично, если бы Вы хотели сказать мне: «Александр, сделай шаг!». Как бы вы это сделали? Вы бы написали так: «Alexander», затем точку. Потом «Step»? Нет, так писать нельзя. Шагать – это действие и его нужно называть глаголом а не существительным. Правильно будет «DoStep» - сделай шаг. А потом в скобках укажем количество шагов, например 5.
Alexander.DoStep(5);
Студия подчеркивает мое имя, так как меня еще нет в этом виртуальном мире. Меня еще никто не запрограммировал. Но мы с вами научимся это делать.
И тут мы с вами перейдем к следующей разновидности приложений – это оконные приложения. И для того чтобы создать оконное приложения нужно сделать следующее. У нас имеется Solution и проект. Он консольный, но теперь мы хотим создать оконное приложение. Мы хотим окошко с кнопками, с меню. Что нужно сделать? Мы можем пойти File\New\Project выбрать Windows Forms Application или WPF Application. Об их отличиях вы узнаете позже. Или сделаем по-другому. Нажимаем правой кнопкой мыши по файлу решения, выбираем пункт Add, а там создать новый проект «New Project». Выбираем Windows Forms Application. Давайте его назовем WinFormApp. Обратите внимание! Новый проект будет размещен в папке с решением. Смотрите что получилось. У нас создался новые проект и сразу же открылся дизайнер форм. Там уже существует готовая форма, ее можно растягивать, делать больше или меньше. Попробуем выполнится. И это у нас не получается. Почему? У нас имеется два проекта в одном решении. Мы находились в WinFormApp, а ошибка появилась из MyFirstConsoleApp. Удаляем строку:
Alexander.DoStep(5);
Выполняемся… Смотрите что произошло! У нас вывелась совсем другая программа. Та которую мы писали раньше. Если посмотреть в Solution Explorer, то там жирным выделяется текущий проект. Как сделать так, чтобы выполнялся тот проект, в котором я нахожусь, потому что в нашем решении имеется два проекта. Нажимаем правой кнопкой мыши по файлу решения. Там выбираем пункт «Set As Startup Project». Теперь можно выбрать либо проект, который всегда будет стартовать, либо установить «Current selection». Теперь активным считается тот проект, в котором мы находимся. Выполняем приложение и вот у нас вывелась форма, но на ней еще пока ничего нет. Это просто форма. А что такое форма? Представьте, что это ваш стол, на котором лежит большой чистый лист бумаги. Мы хотим на него что-то поставить. В нашем случае мы хотим сюда нанести кнопку. Обратите внимание! Сбоку у нас имеется кнопка «Toolbox». Если ее тут нет, вы должны выбрать пункт Wiew\Toolbox. Мы его тут можем закрепить. Средняя кнопочка позволяет закрепить. Если нажмем на крестик – он удалится. Мы теперь видим палитру элементов управления. Вас будут интересовать все элементы управления для Windows Forms. Открываем… Ой! Сколько их много! Мы пока их не знаем, но вы не бойтесь! Вы их все будете знать. Это не сложно. Ну а нас интересует кнопка. Кнопка по-английски – Button. Мы ее берем, зажимаем, и просто тащим на форму. Обратите внимание! На кнопке надпись: «Button1». Кнопка – это отдельный объект. Представьте, что мы взяли с нашего радиоприемника вытащили кнопку и сюда поставили. А что же она будет делать? Выполнимся. Мы по ней кликаем, она ничего не делает. И надпись у нее: «Button1» - какая-то непонятная. Давайте поменяем надпись сначала. Для того чтобы на кнопке поменять надпись, нам нужно зайти в окно свойств. Кликаем по ней правой кнопкой мыши и выбираем Properties – свойства. У нас появилось окошко свойств. Мы можем и его закрепить. И теперь у нас под Solution Explorer имеется окошечко со свойствами. А где же надпись? Это свойство «Text». Мы уже с вами говорили, что у объектов есть поведение и состояние. Так вот то что мы пишем на наших футболках – это состояние. Если смайл –весело. Что будет делать наша кнопка? Ну, например, показывать или что-то выводить, выводить какое-нибудь диалоговое окно. Напишем в свойство «Text» - слово «Show». Вы видите? Надпись на кнопке поменялась. Выполняемся. Кнопка до сих пор не работает. Ничего не делает. А потому что у нашего объекта не задано поведения. Он бездушный. Для того, чтобы задать поведение, нужно просто, для начала, дважды кликнуть по этой кнопке. Смотрите что произошло! Мы зашли в Code Behind.
1: using System;
2: using System.Collections.Generic;
3: using System.ComponentModel;
4: using System.Data;
5: using System.Drawing;
6: using System.Linq;
7: using System.Text;
8: using System.Threading.Tasks;
9: using System.Windows.Forms;
10:
11: namespace WinFormsApp
12: {
13: public partial class Form1 : Form
14: {
15: public Form1()
16: {
17: InitializeComponent();
18: }
19:
20: private void button1_Click(object sender, EventArgs e)
21: {
22:
23: }
24: }
25: }
Это то что находится за формой. Мы даже можем потянуть за заголовок вкладки и поставить этот код ниже. И, получается, у нас на 20 строке сформировалась конструкция. Она нас не интересует, нас интересует что бы написать внутри. Эта конструкция называется методом-обработчиком события нажатия на кнопку. Этот метод будет срабатывать тогда, когда пользователь будет нажимать на кнопку. Что мы можем сделать? Например, мы можем вывести какое-то диалоговое окно. Допустим MessageBox, точка Show. Покажи нам MessageBox что-то. Дальше круглые скобки. А что мы на этом месте хотим вывести? Какое-то сообщение. Снова же, берем в двойных кавычках и пишем «Hello!».
MessageBox.Show("Hello!");
Выполнимся и нажмем на кнопку. Смотрите! У нас вывелось окно с надписью «Hello!». А что будет, если мы в скобках напишем еще что-то через запятую? Смотрите! У нас подсказывается… Идет 21 способ использования этого метода «Show». Первый способ – просто string-текст. Вы видите? Мы сюда передали только один «Hello!». Другой посмотрим. А второй? Какого-то Windows Owner нужно передать. Мы пока не знаем, что это. Что у нас еще есть? А есть … чтобы было два текста? Давайте посмотрим, это можно листать просто стрелочками. Ага! Есть! Смотрите третий пункт. Нам предлагается ввести string text – Это то что будет внутри окошка, а второй string – caption. Это то что буде в заголовке окна. Введем в заголовок мое имя и выполнимся.
MessageBox.Show("Hello!","Alexander");
Нажимаем кнопку «Show». Смотрите! Первый параметр выводит в теле окна, а второй параметр функции «Show» выводит в заголовке еще одно сообщение. Ну это просто как вариант использования. А можно ли меню добавлять на форму? Конечно, это изучается на других курсах, но мы с вами тоже немного посмотрим. Посмотрим самое простое что у нас имеется, что часто используется. Давайте посмотрим, например, TextBox. Перетягиваем его на форму. А что мы можем делать с этим TextBox? Мы можем вводить сюда какие-то тексты. А мы сейчас обратим внимание еще на свойства. Смотрите! Окно свойств показывает Form с именем Form1. А если раскрыть выпадающий список, то мы увидим список всех объектов, которые находятся на форме. Список имен этих объектов. У нас имеется кнопка Show и ей при ее рождении по умолчанию дали имя button1. А во время перенесения TextBox ему было присвоено имя TextBox1. Но мы не будем переименовывать их. Пусть у них и остаются такие непонятные имена, но мы же не изучаем сейчас разработку десктопных приложений. Мы просто смотрим на возможности. И поэтому если я хочу обратится к этому TextBox, я должен написать его имя. Я должен написать: «TextBox1, покажи мне что-нибудь!» А что я хочу сделать? Я хочу, например, чтобы при нажатии кнопки Show в TextBox выводилось приветствие «Hello!» Для этого я должен написать TextBox1, дальше ставлю точку. Смотрите! IntelliSense мне подсказывает. И в этом месте мне предлагается выбрать либо свойство, либо обратиться к его поведению. Я хочу обратится к свойству, потому что я могу написать прямо на TextBox что-то. Мы свойству Text присваиваем значение «Hello!»
textBox1.Text = "Hello!";
Выполняемся и смотрим. Теперь при нажатии на кнопку Show у нас у втекстовом окошке вывелась строка «Hello!» А как сделать чтобы мы ее вводили, и оно потом где-то выводилось? Сейчас сделаем. Значит мы хотим, чтобы пользователь вводил, а мы это выводили в MessageBox. Мы это уже делали с MessageBox. Очистим обработчик события и введем MessageBox, точка Show, скобки... В скобках пишем то, что хотим вывести, то есть то, что пользователь введет в TextBox. А как к нему обратиться? Пишем его имя TextBox1, точка, затем свойство Text.
MessageBox.Show(textBox1.Text);
Давайте выполнимся. Сразу же видите, код. Я ввожу приветствие: «Hello». Это слово попадает в свойство Text, а это свойство выводится MessageBox. Нажимаем на кнопку и видим, то что мы ввели, вывелось в окошке.
Теперь перейдем к меню. Как создается меню? Вы думаете это сложно? Нет! Это вообще не сложно. Называется оно MenuStrip. Смотрите, я беру и перетягиваю его сюда. Вот и оно -сформировалось и внизу дизайнера форм появилась надпись, что у меня имеется такой объект. Давайте напишем «File». Смотрите, а рядом напишем «Help». А в меню файл мы допишем «Open», ниже «Close». В Help мы хотим написать «About». Тут теперь выполнимся. Теперь попробуйте нажать на пункты меню. Еще ничего не работает, потому что мы еще не были на C# Professional и еще не знаем, как это делать. Кнопка About тоже не работает. Что же делать? Попробуем сделать двойной клик на пункте About в меню Help и у нас сформировался еще один обработчик события нажатия именно на пункт меню About. Мы хотим вывести информацию о нашей программе. Как это сделать?
MessageBox.Show("This is my first program!","Information");
Выполнимся. Смотрим. Нажимаем Help\About и видим окошко с заданным сообщением. Нажимаем кнопку ОК. А как можно закрыть программу? Двойной клик по пункту меню File\Close, затем пишем в обработчике события нажатия на кнопку Close. Давайте напишем
this.Close();
Учитесь работать с IntelliSense и смотрите, что он вам предлагает. Теперь выполняемся и проверяем работоспособность кнопки Close. Видите, мы закрыли наше приложение. Мы с вами рассмотрели основы работы с приложениями Windows Forms. А где оно сохранилось? Нажимаем по проекту правой, потом Open Folder in File Explorer. Видим, что у нас добавилась папка WinFormsApp/ зайдем в нее. Смотрим, вот проект. Вот эти страшные файлы мы пока не разбираем, потому что мы еще не готовы смотреть на такую кучу кода, который там присутствует, то что там вставляется в качестве шаблона, чтобы все эта красота для нас выводилась. Но не переживайте, вы это скоро узнаете. Это просто и, тем более, вы – умные. Заходим в папку bin, там лежат exe-файлы, которые мы отдаем друзьям и родственникам. Заходим в Debug. Ничего нету! Посмотрим, почему там ничего нет. У нас стоит режим Release. Тогда мы возващаемся в bin, затем идем в Release. Вот он WindowsFormsApp. Давайте его выполним. Вот наша программа. Введем приветствие в строчку «Hello all!!!». Пробуем, и все работает! Вызовем Help\About. Все работает. А потом закроем программу используя File\Close. Теперь мы с вами разобрали два типа десктопных приложений. Это консольные приложения и оконные приложения. Мы видим, что для изучения программирования - проще использовать консольные приложения, потому что они очищены от разных вспомогательных кодов. Но для того чтобы наши приложения были более красивые конечно же мы будем использовать Windows Forms Application, то есть оконные десктопные приложения.
А мы с вами сейчас перейдем к следующему виду приложений – это web-приложения. Посмотрим очень-очень кратко. Браузерные приложения. Для построения web-приложений у нас используется технология ASP.NET. Давайте посмотрим. Зайдем File\New\Project… Выбираем пункт Web и создаем, например, ASP.NET Web Forms Application. Нажимаем кнопочку ОК. Сейчас у нас сгенерируется проект по данному шаблону. Смотрите сколько Visual Studio уже всего вставил! Это - ASP разметка. Смотрите, сколько мы видим различных файлов! Чтобы это понять, надо иметь знания по технологии ASP.NET. Мы просто запустимся и не будем долго смотреть. Мы просто смотрим то, чем занимаются web-разработчики. Хотя сейчас есть и другие направления в этих технологиях. Возьмем и нажмем кнопочку Split в строке ниже окна с кодом. Здесь есть тоже некий дизайнер web-форм. Или просто зайти в дизайнер. Смотрите, в нас тут уже автоматически сгенерирована страничка для нас. И мы можем теперь выполнится. Допустим в Internet Explorer. Вот мы выполнились по вот этому шаблону. Вот это простейший шаблончик, который сгенерировала Visual Studio. А как нам можно сюда что-то добавить? По умолчанию предоставился небольшой такой сайтик. Смотрите, в ToolBox в нас тоже есть кнопки, значит можно вставить кнопку. Перетягиваем кнопку. А TextBox можно вставить? Конечно можно! Практически все то же самое что и с Windows Forms. Но не думайте, что это практически одно и то же. Дважды кликнем по кнопке. Посмотри, сможем ли мы туда зайти? Получилось. Интересно, а есть TextBox? Давайте посмотрим, начнем вводить textBox1, потом точку и свойство Text. Ему можно что-то присвоить. Присвоим ему «Hello Web!!!» Попробуем выполнится. Вот наша кнопка, и вот мы в страницу внедрили TextBox. И теперь если мы нажмем на кнопку, у нас выводится сообщение. Не пугайтесь, так часто бывает. Когда вы придёте на работу, вас будет ждать не белый лист бумаги, вас будет ждать большой-пребольшой проект. Что вы там будете делать? Вы будете брать и реализовывать часть этого проекта, вы будете сопровождать части, которые до вас реализовывали другие программисты, поэтому не пугайтесь.
Посмотрите, что у нас еще имеется, какие у нас еще есть интересные проекты. Еще раз закрепим, посмотрим какие у нас есть шаблоны. Заходим File\New\Project… Значит много ASP проектов, MVC – новая технология, обязательно ее нужно знать. Windows Store, мы уже говорили, что это для Microsoft Marketa, там, где продаются разные приложения, вы пишете разные приложения, выкладываете туда и другие покупают. Для офисных приложений мы способны писать. Cloud – Microsoft Asure. SharePoint – обратите внимание, мы можем дописывать решения под SharePoint. Что такое SharePoint? Это тоже некий большой шаблон, это как бы и шаблон, и большой корпоративный портал. Который мы в состоянии разворачивать для компаний, как внутренний корпоративный портал, либо сделать его и открытым. Workflow – позволяет автоматически строить приложения, пункты из которых состоит бизнес процесс. То есть, как вы видите, интересного очень много и каждый их этих пунктов изучается отдельно на разных курсах, потому что это отдельная большая технология.
На этом мы закончим обзор языка C#, обзор его основных примитивных возможностей. Мы с вами увидели, что язык достаточно богатый, язык простой. Смотрите, мы не программисты и мы с вами очень легко и быстро смогли уже начать программировать, писать простые примитивные программки. И так, изучая каждый урок мы будем узнавать все больше и больше информации, знакомится с синтаксисом языка C#, частично обращаться к каким-нибудь технологиям, такими как: Windows Forms, WPF, ASP.NET, будем рассматривать коды в контексте разных технологий. Так что, я думаю, вам будет интересно. На этом наш урок закончен, спасибо за внимание до новых встреч.