Вкатываемся в C#
В этой статье мы познакомимся с языком программирования C# (читается как “Си Шарп”). Узнаем о сферах его применения, настроим среду разработки и напишем свое первое приложение. Материал рассчитан на новичков в разработке – тех, кто только начинает свой путь, выбирает первый язык программирования или уже решил освоить C# и делает первые шаги в его изучении.
C# – это мощный, современный и универсальный язык, который подходит для начинающих благодаря своей простоте, хорошей документации и поддержке со стороны сообщества.
Среди ключевых преимуществ C# можно отметить следующие особенности:
- Простой и понятный синтаксис. Код на C# легко читать.
- Подходит для разных задач. На C# можно писать десктопные программы, веб-приложения, мобильные приложения, игры. Это значит, что вы сможете попробовать себя в разных направлениях.
- Четкие правила типов. C# заставляет указывать тип данных (число, текст), что помогает находить ошибки еще до запуска программы.
- Объектно-ориентированный подход. Вы научитесь работать с классами и объектами – это основа современного программирования.
- Много обучающих материалов. В интернете есть куча уроков, документации и форумов, где вам помогут разобраться с любым вопросом.
- Работает на всех устройствах. C# поддерживает Windows, Linux, macOS, телефоны и даже игровые консоли!
- Автоматическое управление памятью. Не нужно вручную освобождать память – C# делает это сам, что упрощает жизнь новичкам.
- Быстрый и оптимизированный. Программы на C# работают быстро, а компилятор сам улучшает код при компиляции.
Надеюсь, эти доводы убедили вас, что C# – действительно мощный и перспективный язык, достойный вашего внимания 😊. Если так, давайте приступим к его изучению. И начнем с самого важного – подготовки рабочего окружения!
Настройка среды разработки
Для комфортной и эффективной разработки, нам потребуется установить IDE (Integrated Development Environment, интегрированная среда разработки). К наиболее распространенным IDE для C# относятся:
- Visual Studio – самая популярная и мощная среда для разработки на C#. Поддержка всех типов проектов. Доступна бесплатная версия (Community Edition), которая подходит для большинства задач.
- Visual Studio Code – легковесный и быстрый редактор, который поддерживает C# через расширение C# Dev Kit. Подходит для небольших проектов или если вам не нужны все функции Visual Studio.
- JetBrains Rider – мощная альтернатива Visual Studio с акцентом на качество кода. Мощные инструменты для рефакторинга и анализа кода. Высокая производительность. На данный момент недоступна в России.
Дальше я буду использовать Visual Studio, так как это наиболее популярный вариант. На момент написания статьи актуальной версией была 17.13.6.
Прежде всего нужно скачать установщик с официального сайта Microsoft – https://visualstudio.microsoft.com/downloads/. Нам будет достаточно бесплатной версии (Community Edition). После запуска установщика откроется окно с выбором рабочих нагрузок (Workloads). Рабочие нагрузки – это наборы инструментов для разработки по разным направлениям (сайты, desktop-приложения, игры). Типичным вариантом будет ASP.NET и разработка веб-приложений (ASP.NET and web development) – выберете этот пункт галочкой. Не беспокойтесь, другие рабочие нагрузки можно установить отдельно в любой момент.

На вкладке Отдельные компоненты (Individual components) можно выбрать дополнительные инструменты, но, если вы выбрали рабочую нагрузку ASP.NET и разработка веб-приложений на предыдущей вкладке, все необходимые компоненты уже отмечены. А если вам потребуются дополнительные компоненты, их можно будет добавить позднее.
На вкладке Языковые пакеты (Language packs) можно добавить нужные языки интерфейса. Рекомендую выбрать английский язык, так как большинство руководств ориентированы на английскую версию.

На вкладке Расположения установки (Installation locations) при необходимости можно поменять путь установки.

После того как все настройки будут заданы, нажмите кнопку Установить (Install) и дождитесь завершения установки. Это может занять некоторое время в зависимости от выбранных компонентов и скорости вашего интернета. После завершения установки, возможно, потребуется перезагрузка компьютера.

Теперь мы готовы к знакомству с Visual Studio.
Создание первого проекта
При запуске Visual Studio, у нас открывается экран приветствия. Здесь можно открыть существующий проект или создать новый. Мы хотим создать новый проект, поэтому нажимаем кнопку Create a new project.

На следующем экране нам предлагается выбрать шаблон нашего приложения. От шаблона зависит набор файлов и настроек, которые используются для создания нового проекта. Мы будем создавать консольное приложение, поэтому нужно выбрать шаблон Console App. Обратите внимание, что в зависимости от установленных компонентов, у вас может быть несколько шаблонов консольных приложений. Выберите тот, у которого в тэгах указан язык C# и операционные системы Linux, macOS и Windows.

Дальше нам нужно выбрать название проекта и папку, где его расположить. Я назвал проект “HelloCSharp”. Solution name должно автоматически поменяться, оставьте его таким же, как название проекта. В поле Location укажите папку, где будут храниться все ваши проекты, либо оставьте значение по умолчанию. Папка для нового проекта будет создана автоматически. Place solution and project in the same directory оставьте выключенным. О том, что такое Project и Solution поговорим чуть позже.

Дальше нужно выбрать версию SDK. На момент написания статьи последняя актуальная версия – .NET 9.0. Переключатели Enable container support, Do not use top-level statements и Enable native AOT publish оставьте выключенными.

Через мгновение Visual Studio создаст и откроет ваш первый проект консольного приложения.

Познакомимся с интерфейсом. Справа располагается Solution Explorer. Solution (или Решение) объединяет в одно рабочее пространство несколько связанных проектов. Примером проекта может быть консольное приложение, web-приложение, библиотека. Под Solution Explorer – панель Properties, в ней отображаются свойства выбранного объекта (например, название и путь к открытому файлу). Я рекомендую пока что закрыть эту панель, так как в ближайшее время она нам не понадобится. По центру мы видим основную рабочую область с содержимым файла, который выбран в Solution Explorer. В верхней части – главное меню и панель управления. С их помощью можно создать новый файл, сохранить изменения, запустить проект на выполнение и многое другое.
Hello, World!
Теперь давайте разберемся с нашим консольным приложением. Шаблон консольного приложения подготовил нам простейший Program.cs файл (все файлы с исходным кодом на языке C# имеют расширение .cs) с таким содержанием:
// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");
С файла Program.cs начинается выполнение любой программы, поэтому, когда мы запустим наше приложение, будут выполняться инструкции из этого файла.
Первая строка – это комментарий. Комментарии начинаются с символов // и игнорируются при выполнении. Они предназначены для дополнительной информации разработчикам. Во второй строке идет инструкция вывода текста в консоль с помощью функции Console.WriteLine. Текст, который мы хотим напечатать, передается в круглых скобках после имени функции. Обратите внимание, что строка заключена в двойные кавычки. Так в языке C# обозначаются строки. В конце каждой инструкции идет точка с запятой. Если забыть поставить ; после инструкции, возникнет ошибка.

Таким образом, наша программа выводит на консоль текст “Hello, World!”. Давайте убедимся и запустим приложение. Для этого нажмите кнопку Play с названием нашего проекта – HelloCSharp.

Через несколько мгновений должен открыться терминал и в нем должен появиться текст “Hello, World”.
Модификация программы
Давайте немного усложним это приложение. Изменим код так, чтобы наша программа приветствовала пользователя по имени.
Для начала удалим из Program.cs его содержимое и добавим переменную name. Переменная – это значение, которому мы присваиваем имя. Можно рассматривать переменную как коробочку, в которой можно хранить данные. У каждой переменной есть название, тип и значение. Давайте присвоим переменной name строковое значение “Боб”.
var name = "Боб";
Ключевое слово var говорит, что мы объявляем переменную, а ее тип будет зависеть от указанного значения (в нашем случае это будет строковый тип). Дальше идет название переменной – name. После знака = указываем значение переменной. В нашем случае это строка “Боб”, причем мы должны заключить эту строку в двойные кавычки. C# будет использовать в качестве значения переменной весь текст между двойными кавычками. И в конце инструкции нужно не забыть поставить символ точки с запятой.
Теперь давайте используем переменную name в приветствии. Здесь нам пригодится возможность склеивать строки при помощи символа +. То есть "Привет, " + "Боб" + "!" – получится строка “Привет, Боб!”. Вместо строки “Боб” можно использовать значение переменной name ("Привет, " + name + "!") и мы получим тот же самый результат. Давайте добавим инструкцию вывода текста, чтобы программа приветствовала Боба:
var name = "Боб";
Console.WriteLine("Привет, " + name + "!");
На данном этапе файл Program.cs должен содержать только код из листинга выше. Можете запустить приложение с помощью кнопки Play и проверить что все работает.

Нажмите любую клавишу, чтобы закрыть окно консоли и вернуться в Visual Studio.
Получаем данные от пользователя
Теперь еще немного усложним приложение и узнаем, как можно получить текст, введенный пользователем. Мы попросим пользователя ввести с клавиатуры свое имя и поприветствуем его персонально – по его имени. Для этого нам понадобится функция Console.ReadLine(). Она получает текст, который пользователь вводит с клавиатуры. Это значение можно сохранить в переменной.

Поменяем код, чтобы вместо “Боба” было имя пользователя:
var name = Console.ReadLine();
Console.WriteLine("Привет, " + name + "!");
Запустите программу с помощью кнопки Play. Должна открыться консоль, но больше ничего не происходит. Программа ожидает, когда пользователь выполнит ввод с клавиатуры. Введите свое имя и нажмите Enter. В результате на экране должно появиться что-то похожее на “Привет, Добрыня!” (почему это имя пришло в голову? 😄).

Закройте окно консоли и вернитесь в Visual Studio.
В нашей программе есть одна проблема. Когда открывается консоль, пользователю непонятно, что от него требуется ввести свое имя. Давайте выведем пользователю текст с пояснением.
Сделать это довольно просто. Еще один способ вызвать функцию Console.ReadLine – передать ей в круглых скобках строку. В этом случае, программа сначала выведет эту строку на экран, а после этого будет ожидать ввода с клавиатуры от пользователя.
var name = Console.ReadLine("Как тебя зовут? ");
Console.WriteLine("Привет, " + name + "!");
Запустите программу и убедитесь, что все работает. На экране должен появиться текст “Как тебя зовут? “. Введите свое имя и нажмите Enter. После этого на экране должно появиться приветствие пользователя, как и в предыдущих версиях программы.
Итоги
Сегодня мы сделали первые шаги в изучении C#: настроили среду разработки, создали простое приложение и освоили базовые операции – вывод текста в консоль, чтение пользовательского ввода, познакомились с переменными. Это только начало большого пути, и впереди еще много интересного!
Краткая выжимка из того, что мы сегодня узнали:
- Visual Studio отлично подходит для разработки приложений на C#
- Для вывода текста в консоль используйте функцию
Console.WriteLine - Получить введенную пользователем строку можно с помощью
Console.ReadLine - Объявляем переменную и присваиваем ей строковое значение –
var name = "Иван" - После каждой инструкции нужно ставить
;
В качестве самостоятельной работы – попробуйте усложнить программу. Сделайте так, чтобы пользователь вводил имя, потом отчество, а на экран выводилось приветствие по имени и отчеству, например – “Привет, Добрыня Никитич!”.
Делитесь своим кодом в комментариях! 😊
Дополнительные материалы: