.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 с минимальным набором стандартных файлов и папок, которые будут представлять проект.
В частности, мы можем найти в папке проекта файл 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}"); // выводим имя на консоль
По сравнению с автоматически сгенерированным кодом я внес несколько изменений. Теперь первой строкой выводится приглашение к вводу.
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$