C# с нуля: первый проект через dotnet new

В этом уроке мы создадим первый 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 будет выглядеть слишком резким прыжком

Что открыть дальше

Оцените статью
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x