Язык Си шарп является основным языком программирования в большинстве пакетов Microsoft Visual Studio. Удобнее всего использовать интегрированную среду разработки, содержащую полный пакет программных средств для написания и отладки программ.
Для установки среды разработки вы можете выбрать один из нескольких вариантов пакетов и установить его, хотя разницу между Visual C# 2010 Express и Visual Studio 2019 Community (пакет «Разработка классических приложений .Net ) начинающий программист практически не заметит.
Традиционно начнем с создания консольного приложения.
После запуска пакета открывается начальная страница, на которой можем заметить две строки: 1) Создать проект… и 2) Открыть проект… (если ранее проекты уже создавались). Выберем первую позицию меню и перейдем в окно «Создать проект». Выберем тип проекта – «Консольное приложение», укажем имя вашего проекта «Первая_программа» и нажмем кнопку «Ok». Откроется окно с файлом Program.cs:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Первая_программа { class Program { static void Main(string[] args) { } } }
Ваша первая программа создана. Запустите ее на выполнение: Позиция меню – Отладка/Начать отладку, или клавиша F5, или графическая кнопка . Вы можете не заметить возникшее синее окно, которое менее через секунду закроется, зачем же нам этот бесполезный пример? Но все же, сохраните проект (Файл/Сохранить_все или Ctrl+Shift+S, выбрав папку для сохранения проекта c именем «Первая_программа»). Удалим строки 2,3,4 и вставим две новых строки, тогда получим:
using System; namespace Первая_программа { class Program { static void Main(string[] args) { Console.WriteLine("Привет, программист!"); Console.ReadKey(); } } }
Запустим программу и получим следующий результат:
Ваша программа уже проявила себя (с вами бодро поздоровалась).
Обратимся к тексту программы. Слова using, namespace, class, static, void – это ключевые слова, зарезервированные идентификаторы в любой части программы C#.
Строка using System; (далее будем говорить – оператор) задает подключение библиотеки System (часть библиотеки Net.Framework), используемой практически в каждой программе (постепенно будем узнавать, что в нее входит).
Строка namespace Первая_программа задает пространство имен проекта, объединяемое внешними фигурными скобками { }.
Строка class Program объявляет пока единственный (как нам кажется) класс в нашем пространстве имен Первая_программа, а содержимое класса также заключено во вторые фигурные скобки { }. И, наконец, внутри класса Program объявляется метод static void Main(string[] args), внутри которого (третьи фигурные скобки { }) объявлены два оператора.
Обратите внимание на расположение фигурных скобок, обозначающих начало и конец блоков, их положение автоматически задается редактором кода. Постарайтесь и далее их позиции относительно левого края окна не изменять. Смысл слов static и void будет пояснен позже. Вы уже догадались, для чего необходим оператор Console.WriteLine(«Привет, программист!»);. Последний оператор Console.ReadKey(); — вспомогательный, он не дает закрыть приложение до тех пор, пока не будет нажата любая клавиша.
Важнейшие понятия ООП — это класс (class) и объект (object). Слово class появляется у нас в тексте любого приложения (программы). Удалим первый оператор программы using System; (точнее, удобнее не удалять строку, а ее закомментировать, поставив перед оператором два символа «//»). Запустим программу на выполнение. Получим сообщение о двух одинаковых ошибках: Элемент «Console» не существует в текущем контексте.
Интересно, как связано слово Console c нашим консольным приложением? В эпоху больших ЭВМ консолью называлось аппаратура для ввода/вывода данных, например, клавиатура-дисплей или телетайп. Наше консольное приложение также отображает результат выполнения программы на мониторе (в «синем окне»), а исходные данные мы также будем вводить с клавиатуры.
Но в тексте программы слово Console указывает имя класса из библиотеки System. Делаем вывод: мы используем методы класса Console, которые выводят строку текста и обрабатывают нажатие на клавиши. Мы можем исправить ошибки, указав впереди через точку имя библиотеки: System.Console.WriteLine(«Привет, программист!»); System.Console.ReadKey(); Говорят, что метод конкретизируется указанием класса, а сам класс определен в библиотеке, подключаемой через оператор using имя_библиотеки.
В IDE консольного приложения создается файл Program.cs. Заметим, что в пространстве имен namespace объявляется класс Program, а в нем статический (static) метод Main() — «главная точка входа в приложение». В теле метода между двумя фигурными скобками записывается программный код приложения. Кроме «главного» метода в класс часто добавляются поля данных и другие методы, вызов которых начинается в Main(). В Main() записывается алгоритм обработки данных. При записи алгоритма придерживайтесь структурной методологии Э. Дейкстры. Она основана на том, что любая программа строится из трёх базовых управляющих структур: последовательность, ветвление, цикл; оператор goto запрещен. Она имеет один вход — один выход. В программе часто выделяются подпрограммы (в C# — это функции-члены классов, к которым относятся методы). Разработка ведётся пошагово, методом «сверху вниз».
Заметим, что в нашей простейшей программе появилось понятие «класс» — базовое понятие объектно-ориентированного программирования (ООП).
Кроме консольных приложений (нам они удобны на первом этапе изучения основ C#) мы будем создавать стандартные «оконные» приложения (Windows Forms). Краткую заметку о них смотрите здесь.
А мы продолжим нашу тему заметкой о комментариях.
NEW: Наш Чат, в котором вы можете обсудить любые вопросы, идеи, поделиться опытом или связаться с администраторами.
Чет разобраться не могу по сайту с чего начинать и чем заканчивать)
я декілько разів запускав пркраму ,і наново переписував код ( навіть копіював)
але в консольному вікні нічого не зявлялось
Виталий! Первая программа создается автоматически. Добавьте Console.ReadKey(); Возможно, в настройках нет остановки на закрытие приложения. Не получится, переустановите VS.
Эх, видео бы сняли, я бы посмотрел)
Роман! В сети довольно много видео. А по описанию трудно делать?
123
Иван! можно эмоции словами выразить, а то чересчур лаконично!