Урок 1. Установка .NET и первая программа
В этом уроке на компьютере появится всё нужное для программ на C#, и первая программа напечатает строку на экране. Понадобится около получаса.
Что поставить
Для программ на C# нужен .NET SDK (Software Development Kit — набор для разработчика). В него входят компилятор C#, среда выполнения .NET и команда dotnet. На сайте Microsoft рядом с SDK лежит и Runtime — только среда выполнения, чтобы запускать готовые программы. Для учёбы нужен именно 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 Hellodotnet new console создаёт консольное приложение по шаблону, -o Hello — в новой папке Hello. Команда напечатает несколько строк о создании проекта. Теперь запустите его:
$ dotnet run
Hello, World!dotnet run собирает программу и сразу её запускает. Команду нужно давать в папке проекта, иначе появится ошибка Couldn't find a project to run.
Что внутри проекта
Hello.csproj— настройки проекта: какая версия .NET, какие возможности включены.Program.cs— код программы. Файлы кода C# имеют расширение.cs.- папки
binиobj— результаты сборки, их создаётdotnet, руками там ничего не меняют.
Файл 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 над ней была ещё строка-комментарий со ссылкой):
Console.WriteLine("Hello, World!");Замените всё содержимое на такое, сохраните файл и снова выполните dotnet run:
// Комментарий: компилятор его пропускает
Console.WriteLine("Привет, мир!");
Console.WriteLine("Первая программа на C#");
Console.WriteLine(2 + 3);Привет, мир!
Первая программа на C#
5Console.WriteLine(...)печатает то, что в скобках, и переводит строку.Console.Write(...)— то же, но без перевода строки.- Текст пишут в двойных кавычках, числа и выражения — без кавычек:
2 + 3сначала вычисляется. - Каждая команда заканчивается точкой с запятой
;. - Большие и маленькие буквы различаются:
Consoleиconsole— разные имена. //— комментарий до конца строки,/* ... */— комментарий на несколько строк.
Классическая форма: класс и метод Main
В новом шаблоне код пишется прямо в файле — это операторы верхнего уровня (top-level statements), они появились в C# 9. Компилятор сам оборачивает их в класс и метод, с которого начинается программа. В учебниках, книгах и старых проектах та же программа выглядит так:
namespace Hello;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Привет, мир!");
}
}Привет, мир!namespace Hello;— пространство имён: группа, в которую входят классы программы. Его можно не писать.class Program— класс. В C# весь код находится внутри классов; что это такое, расскажет урок Классы, объекты и свойства.static void Main(string[] args)— метод Main, точка входа: с него начинается выполнение.voidзначит, что метод ничего не возвращает,args— параметры командной строки.- Фигурные скобки
{ }отмечают начало и конец класса и метода.
Обе формы равноправны. Проект в классической форме создаёт команда dotnet new console --use-program-main, а в Visual Studio — флажок Do not use top-level statements при создании проекта. В одном проекте точка входа одна: либо операторы верхнего уровня в одном файле, либо метод Main. В курсе короткие примеры написаны операторами верхнего уровня, а там, где нужна классическая форма, она показана.
Visual Studio и VS Code
- Visual Studio Community (Windows): «Создать проект» → шаблон консольного приложения для C# — тот, что без пометки «.NET Framework» (это старая платформа только для Windows) → имя проекта → версия .NET. Запуск —
Ctrl+F5(без отладки, окно консоли не закроется само) илиF5(с отладкой). - VS Code (Windows, Linux, macOS): поставьте расширение C# Dev Kit от Microsoft, откройте папку проекта. Запускать проще всего командой
dotnet runво встроенном терминале (меню «Терминал»).
Частые ошибки
The name 'console' does not exist in the current context(ошибка CS0103) — имя набрано с маленькой буквы или с опечаткой. Правильно:Console.WriteLine.; expected(CS1002) — пропущена точка с запятой в конце строки.Too many characters in character literal— текст в одинарных кавычках. Строки в C# — в двойных:"Привет", одинарные — только для одного символа:'A'.- Программа не изменилась после правки — файл не сохранён. Сохраните его (
Ctrl+S) и запустите снова.
Коротко
- Для программ на C# нужен .NET SDK, не Runtime; версия — LTS.
dotnet new console -o Имясоздаёт проект,dotnet runв его папке собирает и запускает программу.- Код — в
Program.cs, настройки — в файле.csproj. Console.WriteLineпечатает и переводит строку, команды заканчиваются;, регистр букв важен.- Классическая форма — класс
Programс методомstatic void Main; новая — операторы верхнего уровня. Это одна и та же программа.