Первая программа на Linux

Последнее обновление: 03.12.2023

.NET является кроссплатформенным фреймворком и подддерживается в том числе различными дистрибутивами на базе Linux. В данном случае рассмотрим создание первой программы на ОС Ubuntu. В частности, для установки .NET SDK 8.0 нам надо выполнить следующую команду

sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-8.0

После установки мы можем проверить версию .NET SDK с помощью команды dotnet --version:

eugene@Eugene:~$ dotnet --version
8.0.100
eugene@Eugene:~$ 

Для проверки установленных .NET SDK можно выполнить следующую команду

dotnet --list-sdks

Первый проект

Создадим первый проект. Для этого будем использовать набор консольных утилит .NET CLI. И вначале создадим каталог для проектов на .NET. Например, в моем случае это каталог dotnet, который будет располагаться в текущей папке пользователя. Откроем терминал и перейдем к этому каталогу с помощью команды cd.

eugene@Eugene:~$ mkdir dotnet
eugene@Eugene:~$ cd dotnet
eugene@Eugene:~/dotnet$ 

Затем для создания проекта в этом каталоге выполним следующую команду:

dotnet new console -o helloapp

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

eugene@Eugene:~/dotnet$ dotnet new console -o helloapp

Welcome to .NET 8.0!
---------------------
SDK Version: 8.0.100

----------------
Installed an ASP.NET Core HTTPS development certificate.
To trust the certificate, view the instructions: https://aka.ms/dotnet-https-linux

----------------
Write your first app: https://aka.ms/dotnet-hello-world
Find out what's new: https://aka.ms/dotnet-whats-new
Explore documentation: https://aka.ms/dotnet-docs
Report issues and find source on GitHub: https://github.com/dotnet/core
Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli
--------------------------------------------------------------------------------------
The template "Console App" was created successfully.

Processing post-creation actions...
Restoring /home/eugene/dotnet/helloapp/helloapp.csproj:
  Determining projects to restore...
  Restored /home/eugene/dotnet/helloapp/helloapp.csproj (in 1.07 sec).
Restore succeeded.


eugene@Eugene:~/dotnet$ 

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

.NET CLI Создание проекта для C# на Linux

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

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

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

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

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

eugene@Eugene:~/dotnet$ cd helloapp
eugene@Eugene:~/dotnet/helloapp$ dotnet run
Hello, World!
eugene@Eugene:~/dotnet/helloapp$ 

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

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

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

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

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

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

var name = Console.ReadLine();

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

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

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

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

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

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

eugene@Eugene:~/dotnet/helloapp$ dotnet run
Введите свое имя: Eugene
Привет Eugene
eugene@Eugene:~/dotnet/helloapp$ 
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850