1. Главная
  2. Документы
  3. С#
  4. Введение в C#
  5. Первая программа на C# с .NET CLI

Первая программа на C# с .NET CLI

Создадим первую программу на языке C#. Что для этого нужно? Прежде всего для написания кода программы нам понадобится текстовый редактор. В принципе можно выбрать любой понравившийся текстовый редактор, например, встроенный в Windows по умолчанию блокнот. Но я в данном случае буду ориентироваться на более изощренный текстовый редактор Visual Studio Code. Данный текстовый редактор доступен для всех основных операционных систем: Windows, MacOS, Linux. Он доступен по ссылке загрузить Visual Studio Code

C# в Visual Studio Code

Второй необходимый компонент для создания программ — компилятор. Для компиляции, построения, запуска и ряда других задач Microsoft предоставляет набор инструментов, который называется .NET SDK. .NET SDK является кроссплатформенным и доступен для всех основных операционных систем и основных архитектурных платформ.

Для установки .NET SDK под под различные системы — Windows, MacOS, Linux можно использовать специальные пакеты установки, которые можно загрузить с официального сайта по ссылке https://dotnet.microsoft.com/en-us/download.

Загрузка SDK .NET

Страница автоматически отображает варианты SDK под текущую операционную систему пользователя. На данный момент страница загрузок предоставляет последнюю версию .NET SDK — 10-ю версию. Собственно для целей изучения и рекомендую использовать самую последнюю версию — на данный момент это .NET 10, которая включает в себя все самые последние возможности и улучшения. Хотя при необходимости можно установить различные версии .NET. А на странице https://dotnet.microsoft.com/en-us/download при необходимости можно найти все возможные варианты SDK под различные архитектуры и системы.

Установка под Windows

С установкой под Windows все просто — загружаем со стартовой страницы установщик .NET SDK и запускаем его:

Установка .NET SDK для программирования на C#

Установка под MacOS

Аналогично проста установка под MacOS — также загружаем со страницы https://dotnet.microsoft.com/en-us/download установщик .NET SDK и запускаем его:

Установка .NET SDK для программирования на C#

Установка на Linux

Для операционных систем на базе Linux также можно использовать разные методы установки: установить через пакетный менеджер, установить вручную или с помощью скрипта. Рассмотрим самый простой способ — установки через пакетный менеджер. Так, для установки .NET SDK 10.0 на ОС Ubuntu и Debian через пакетный менеджер apt надо выполнить следующую команду

sudo apt-get update &&  sudo apt-get install -y dotnet-sdk-10.0

Следует учитывать, что более ранние версии Ubuntu/Debian могут не иметь в репозиториях пакета с самой последней версией .NET. Например, в официальных репозиториях Ubuntu для более раниих версий пакет.NET 10.0 не доступен. Зато он доступен в репозиториях компании Microsoft. Поэтому перед загрузкой .NET 10 надо добавить соответствующие репозитории Microsoft с помощью команды:

sudo add-apt-repository ppa:dotnet/backports

и затем собственно устанавливать .NET SDK 10.0.

Для установки на Fedora через пакетный менеджер dnf применяется команда

sudo dnf install dotnet-sdk-10.0

На других системах на базе Linux могут применяться другие пакетные менеджеры.

Также в качестве альтернативы можно загрузить пакет бинарных файлов для определенной системы со страницы https://dotnet.microsoft.com/en-us/download/dotnet/10.0, распаковать в определенное место на жестком диске и добавить путь к папке к утилите dotnet внутри этого распакованного пакета в переменную окружения PATH. Например, если пакет файлов фреймворка распакован в папку «/home/[имя_пользователя]/dotnet-sdk-10.0.100», то для текущей сессии терминала мы можем добавить путь к фреймворку следующим образом:

export PATH=$HOME/dotnet-sdk-10.0.100:$PATH

Проверка установки .NET

После установки, чтобы убедиться, что все установлено и настроено правильно, мы можем проверить версию .NET, выполнив в командной строке/консоли команду dotnet —version:

C:\Users\eugen>dotnet --version
10.0.100

C:\Users\eugen>

На одной машине может быть установлено одновременно несколько версий .NET SDK. Для проверки установленных версий можно использовать команду dotnet —list-sdks:

C:\Users\eugen>dotnet --list-sdks
8.0.110 [C:\Program Files\dotnet\sdk]
9.0.101 [C:\Program Files\dotnet\sdk]
10.0.100 [C:\Program Files\dotnet\sdk]

C:\Users\eugen>

Создание первой программы на C#

И после установки .NET SDK мы можем начать свою славную поступь в прекрасный мир программирования на C#. Создадим первый проект. Для этого будем использовать набор консольных утилит .NET CLI.

И вначале создадим каталог для проектов на .NET (вручную или с помощью команды mkdir). Пусть каталог будет dotnet и будет располагаться в текущей папке пользователя. Откроем терминал и перейдем к этому каталогу с помощью команды cd.

C:\Users\eugen>mkdir dotnet

C:\Users\eugen>cd dotnet

C:\Users\eugen\dotnet>

Для создания проекта в .NET CLI применяется команда dotnet new, которой передается тип проекта. Мы будем создавать консольное приложение, поэтому будем использовать тип console. Итак, в введем в терминале следующую команду:

dotnet new console -o helloapp

В данном случае мы указываем, что создаваемый проект будет представлять консольное приложение (console), а с помощью опции -o можно указать название проекта. То есть проект будет называться helloapp. При выполнении команды консоль отобразит некоторую базовую информацию

C:\Users\eugen\dotnet>dotnet new console -o helloapp
Шаблон "Консольное приложение" успешно создан.

Идет обработка действий после создания...
Восстановление C:\Users\eugen\dotnet\helloapp\helloapp.csproj:
  Определение проектов для восстановления...
  Восстановлен C:\Users\eugen\dotnet\helloapp\helloapp.csproj (за 1,01 sec).
Восстановление выполнено.



C:\Users\eugen\dotnet>

После выполнения этой команды в папке helloapp будет создан проект с минимальным набором стандартных файлов и папок.

.NET CLI Создание проекта

В частности, мы можем найти в папке проекта файл helloapp.csproj. Это главный файл проекта, который определяет его конфигурацию. Мы можем открыть его в любом текстовом редакторе, просмотреть и при необходимости изменить.

И, кроме того, по умолчанию создается главный файл программы Program.cs со следующим содержимым:

12// See https://aka.ms/new-console-template for more informationConsole.WriteLine("Hello, World!");

Соответственно, если нам надо внести изменения в исходный код программы, то мы будем изменять содержимое именно этого файла.

В принципе этот минимальный проект уже можно запускать. Для запуска проекта перейдем в консоли в папку проекта helloapp и для выполнения программы введем в консоли команду dotnet run:

C:\Users\eugen\dotnet> cd helloapp
C:\Users\eugen\dotnet\helloapp>dotnet run
Hello, World!

C:\Users\eugen\dotnet\helloapp>

После выполнения команды в проекте в папке bin\Debug\net9.0 появятся файлы программы (на windows файлы helloapp.dll и helloapp.exe), которые можно вручную запустить на компьютере, где установлен .NET 9.

Компиляция программы C# с помощью .NET CLI

Теперь изменим весь код программы. Для этого откроем файл Program.cs в каком-нибудь текстовом редакторе и изменим его код на следующий:

123Console.Write("Введите свое имя: ");var name = Console.ReadLine();       // вводим имяConsole.WriteLine($"Привет {name}");    // выводим имя на консоль
Изменение кода программы на C# и .NET

По сравнению с автоматически сгенерированным кодом я внес несколько изменений. Теперь первой строкой выводится приглашение к вводу.

1Console.Write("Введите свое имя: ");

Метод Console.Write() выводит на консоль некоторую строка. В данном случае это строка «Введите свое имя: «.

На второй строке определяется строковая переменная name, в которую пользователь вводит информацию с консоли:

1var name = Console.ReadLine();

Ключевое слово var указывает на определение переменной. В данном случае переменная называется name. И ей присваивается результат метода Console.ReadLine(), который позволяет считать с консоли введенную строку. То есть мы введем в консоли строку (точнее имя), и эта строка окажется в переменой name.

Затем введенное имя выводится на консоль:

1Console.WriteLine($"Привет {name}");

Чтобы ввести значение переменной name внутрь выводимой на консоль строки, применяются фигурные скобки {}. То есть при выводе строки на консоль выражение {name} будет заменяться на значение переменной name — введенное имя.

Однако чтобы можно было вводить таким образом значения переменных внутрь строки, перед строкой указывается знак доллара $.

Теперь протестируем проект, запустив его на выполнение с помощью команды dotnet run:

C:\Users\eugen\dotnet\helloapp>dotnet run
Введите свое имя: Евгений
Привет Евгений

C:\Users\eugen\dotnet\helloapp>