Глиф Учебники

Урок 1. Установка .NET и первая программа

Курс «C#» · урок 1 из 10 · 6 минут чтения

В этом уроке на компьютере появится всё нужное для программ на C#, и первая программа напечатает строку на экране. Понадобится около получаса.

Что поставить

Для программ на C# нужен .NET SDK (Software Development Kit — набор для разработчика). В него входят компилятор C#, среда выполнения .NET и команда dotnet. На сайте Microsoft рядом с SDK лежит и Runtime — только среда выполнения, чтобы запускать готовые программы. Для учёбы нужен именно SDK: Runtime программы не собирает.

От кода до запуска SDK для разработки Runtime только запуск Program.cs код на C# компилятор C# собирает готовая программа в папке bin среда выполнения .NET запускает Привет, мир! вывод нет
В SDK есть и компилятор, который собирает программу из кода, и среда выполнения, которая её запускает, а в Runtime — только среда выполнения.

Выбирайте версию с пометкой LTS — у неё долгая поддержка. Курс рассчитан на .NET 10 (язык C# 14): это LTS, она вышла в ноябре 2025 года и поддерживается до ноября 2028-го. Если у вас уже стоит .NET 8, программы курса работают и в ней, но её поддержка — только до 10 ноября 2026 года: для новой установки берите .NET 10.

Шаг 1. Установите SDK

Способ зависит от системы на компьютере — выберите свою.

Windowsустановщик с сайта Microsoft

Скачайте установщик SDK с сайта dotnet.microsoft.com (для обычного компьютера — x64) и запустите его.

Если ставите Visual Studio Community, SDK поставится вместе с ней: в установщике отметьте рабочую нагрузку для разработки классических приложений .NET. .NET 10 ставит Visual Studio 2026.

Ubuntuпакет через apt

Выполните в терминале sudo apt install dotnet-sdk-10.0 — пакет есть в Ubuntu 24.04 и новее.

macOSустановщик .pkg

Скачайте установщик .pkg с того же сайта dotnet.microsoft.com: Arm64 — для компьютеров на процессорах Apple, x64 — для Intel.

Подробно, с другими способами и подводными камнями, — в справке Как установить .NET SDK.

Шаг 2. Проверьте установку

Откройте новое окно терминала (в Windows — PowerShell или командную строку) и наберите:

Терминал
$ dotnet --version

Команда печатает номер версии SDK — 10.0. с цифрами дальше. Если вместо номера — сообщение, что команда не найдена, поможет справка «dotnet» не является командой.

Шаг 3. Создайте и запустите проект

Программа на C# живёт в проекте — папке с файлом настроек и файлами кода. Создайте проект и перейдите в его папку:

Терминал
$ dotnet new console -o Hello
$ cd Hello

dotnet new console создаёт консольное приложение по шаблону, -o Hello — в новой папке Hello. Команда напечатает несколько строк о создании проекта. Теперь запустите его:

Терминал
$ dotnet run
Hello, World!

dotnet run собирает программу и сразу её запускает. Команду нужно давать в папке проекта, иначе появится ошибка Couldn't find a project to run.

Что внутри проекта

Файл Hello.csproj выглядит так (у .NET 8 вместо net10.0 будет net8.0):

Текст
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net10.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
  </PropertyGroup>

</Project>

ImplicitUsings подключает часто нужные части стандартной библиотеки сами (поэтому в коде не нужна строка using System; из старых учебников), а Nullable включает предупреждения о возможном null — пустой ссылке, о ней речь пойдёт в третьем уроке.

Первая своя программа

Откройте Program.cs. В нём одна строка (в .NET 8 над ней была ещё строка-комментарий со ссылкой):

C#
Console.WriteLine("Hello, World!");

Замените всё содержимое на такое, сохраните файл и снова выполните dotnet run:

C#
// Комментарий: компилятор его пропускает
Console.WriteLine("Привет, мир!");
Console.WriteLine("Первая программа на C#");
Console.WriteLine(2 + 3);
Вывод
Привет, мир!
Первая программа на C#
5

Классическая форма: класс и метод Main

В новом шаблоне код пишется прямо в файле — это операторы верхнего уровня (top-level statements), они появились в C# 9. Компилятор сам оборачивает их в класс и метод, с которого начинается программа. В учебниках, книгах и старых проектах та же программа выглядит так:

C#
namespace Hello;

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Привет, мир!");
    }
}
Вывод
Привет, мир!
Операторы верхнего уровня рамки добавит компилятор класс метод — точка входа Console.WriteLine("Привет, мир!"); Классическая форма то же, написанное полностью namespace Hello; class Program static void Main(string[] args) точка входа Console.WriteLine("Привет, мир!");
У операторов верхнего уровня класс и метод — точку входа — вокруг кода добавляет компилятор, а в классической форме они написаны в самом коде.

Обе формы равноправны. Проект в классической форме создаёт команда dotnet new console --use-program-main, а в Visual Studio — флажок Do not use top-level statements при создании проекта. В одном проекте точка входа одна: либо операторы верхнего уровня в одном файле, либо метод Main. В курсе короткие примеры написаны операторами верхнего уровня, а там, где нужна классическая форма, она показана.

Visual Studio и VS Code

Частые ошибки

Коротко

Проверьте себя

1. Что нужно поставить, чтобы писать и запускать свои программы на C#?
2. Что делает команда dotnet run?
3. С какого метода начинается программа в классической форме?
4. Почему console.WriteLine("Привет"); не компилируется?