В этом уроке мы создадим первый C#-проект через dotnet new console, запустим его командой dotnet run и разберем файл Program.cs. Без длинной истории .NET, без перегруза классами и без поиска кнопки «создать проект» в тяжелой IDE. Начнем с терминала, потому что так сразу видно, что именно делает платформа
В конце у вас будет папка проекта, рабочий запуск и маленькая программа, которую можно менять руками
Что получится в конце
Команды:
dotnet new console -n FirstCSharp
cd FirstCSharp
dotnet run
создадут и запустят консольное приложение. В терминале появится:
Hello, World!
Затем мы заменим стандартный текст на свой:
var name = "Динар";
Console.WriteLine($"Привет, {name}!");
И получим:
Привет, Динар!
Что нужно заранее
Нужен установленный .NET SDK. Проверьте:
dotnet --version
Если команда выводит версию, можно продолжать. Если команда не найдена или система говорит, что SDK отсутствует, сначала откройте Как установить .NET SDK для C#
Важно: для разработки нужен именно SDK, а не только Runtime. Runtime запускает готовые приложения, а SDK умеет создавать проекты, собирать код и запускать команды dotnet new, dotnet run, dotnet build
Создаем проект
Выполните:
dotnet new console -n FirstCSharp
Здесь console — шаблон консольного приложения, а -n FirstCSharp задает имя проекта и папки
Перейдите в папку:
cd FirstCSharp
Посмотрите содержимое:
FirstCSharp.csproj
Program.cs
Файл .csproj описывает проект для .NET SDK. Файл Program.cs содержит код приложения
Первый запуск
Запустите:
dotnet run
Команда соберет проект и запустит его. Для первого урока это самый удобный путь: не нужно отдельно искать собранный файл в bin/Debug/...
Если хотите просто проверить сборку без запуска:
dotnet build
Практическое правило: пока учитесь, используйте dotnet run; когда нужно проверить проект на ошибки компиляции, используйте dotnet build
Что внутри Program.cs
В современных шаблонах C# файл может выглядеть так:
Console.WriteLine("Hello, World!");
Новичок часто удивляется: где класс, где Main, почему в старых уроках код длиннее? Это нормальная ситуация. Современный C# поддерживает top-level statements: для маленькой программы можно писать команды сразу в Program.cs, а компилятор сам обернет их в точку входа
Старый вариант выглядел бы примерно так:
class Program
{
static void Main()
{
Console.WriteLine("Hello, World!");
}
}
Оба подхода ведут к запуску программы. Для первых уроков короткий вариант удобнее, а к классам мы перейдем отдельно в Классы и свойства в C#: первый пример
Меняем программу под себя
Откройте Program.cs и замените содержимое:
var name = "Алия";
var lessonsDone = 1;
Console.WriteLine($"Привет, {name}!");
Console.WriteLine($"Уроков пройдено: {lessonsDone}");
Запустите:
dotnet run
В строке $"Привет, {name}!" используется string interpolation: значения переменных вставляются прямо в строку. Это удобнее, чем собирать текст через множество плюсов
Что такое var в первом примере
var не означает «любой тип». C# смотрит на значение справа и выводит конкретный тип
var name = "Алия"; // string
var lessonsDone = 1; // int
После этого name остается строкой, а lessonsDone остается числом. Нельзя сначала положить в lessonsDone число, а потом заменить его текстом без ошибки компиляции
Подробно типы разберем в Типы, переменные и строки в C#
Частые ошибки и порядок проверки
dotnet не найден. SDK не установлен или терминал не видит путь к dotnet. Откройте новое окно терминала и проверьте установку
Couldn't find a project to run. Вы запустили dotnet run не в папке проекта. Перейдите в папку, где лежит .csproj
Ошибка с точкой с запятой. В C# большинство инструкций заканчиваются ;. Проверьте строки var name = ...; и Console.WriteLine(...);
Непонятные ошибки после переименования папки. Для первых уроков проще создать новый проект через dotnet new console, чем вручную переименовывать .csproj и namespace
Что может быть еще интересно по этой теме
C# можно учить первым языком? Можно. Он строже JavaScript и дружелюбнее многих низкоуровневых языков. Хороший путь: консольные проекты, типы, классы, коллекции, потом ASP.NET Core
Нужна ли Visual Studio? Нет для первого запуска. Visual Studio удобна на Windows, но начать можно с терминала и любого редактора. Главное, чтобы был установлен .NET SDK
Почему в новых уроках код короче, чем в старых? Из-за top-level statements. Это современный синтаксис для простых программ. В больших проектах классы и методы все равно никуда не исчезают
Что делать после первого запуска? Разобраться с типами, строками и классами. Иначе ASP.NET Core будет выглядеть слишком резким прыжком
Что открыть дальше
- Как установить .NET SDK для C# — если
dotnetне запускается. - Типы, переменные и строки в C# — следующий шаг после первого
Program.cs. - Классы и свойства в C#: первый пример — чтобы перейти от отдельных переменных к моделям.
- Ошибки C#: cannot convert, null reference и missing using — когда компилятор начнет ругаться.



