Hello, World! на C#
Пишем первую программу «Привет, мир!» на C#, разбираем каждый элемент кода и изучаем современный синтаксис .NET 6+.
C# — объектно-ориентированный язык от Microsoft, который работает поверх платформы .NET. Программы на C# компилируются в байткод (IL) и выполняются средой выполнения CLR — схожая с Java идея: один код на всех ОС.
Классический Hello, World!
Традиционная запись, которую вы встретите в большинстве учебников:
using System;
namespace HelloWorld
{
class Hello
{
static void Main(string[] args)
{
Console.WriteLine("Привет, мир!");
}
}
}
Вывод:
Привет, мир!
Что означает каждая строка
Элемент | Смысл |
| подключает пространство имён System — в нём живёт класс Console |
| логический контейнер для организации кода проекта |
| объявление класса; в C# весь код находится внутри классов |
| точка входа — CLR начинает выполнение именно здесь |
| вывод строки с переводом строки в конце |
Без
using System;пришлось бы писать полное имя:System.Console.WriteLine(...). Директиваusing— просто сокращение.
Современная запись (.NET 6+)
Начиная с .NET 6 можно убрать весь «котёл»: пространства имён, класс и метод Main генерируются неявно. Это называется top-level statements:
Console.WriteLine("Привет, мир!");
Вывод:
Привет, мир!
Одна строка — полноценная программа. Компилятор сам «обернёт» её в нужную структуру. В новых проектах Visual Studio / .NET CLI именно такой шаблон создаётся по умолчанию.
Варианты вывода
Console.WriteLine("Строка с переносом"); // с \n в конце
Console.Write("Без переноса "); // курсор остаётся на той же строке
Console.Write("продолжение");
Console.WriteLine(); // просто перевод строки
Вывод:
Строка с переносом Без переноса продолжение
Комментарии
// Однострочный комментарий — до конца строки
/*
Многострочный комментарий:
удобен для временного отключения блока кода.
*/
Console.WriteLine("Это выполнится"); // а это нет: /* Console.WriteLine("пропущено"); */
Вывод:
Это выполнится
Частые ловушки
- Регистр имеет значение.
console.writeline— ошибка; правильноConsole.WriteLine. - Точка с запятой обязательна. Каждое выражение-оператор заканчивается
;. WritevsWriteLine.Writeне добавляет перевод строки — вывод следующего текста будет на той же строке.- Только один
Main. В проекте может быть несколько классов с методомMain, но точка входа — один конкретный, указанный при сборке.
Коротко
- Программы на C# запускаются на платформе .NET; точка входа — метод
static void Main. Console.WriteLineвыводит строку с переносом;Console.Write— без переноса.using System;сокращает запись: не нужно каждый раз писатьSystem.Console.- В .NET 6+ достаточно одной строки
Console.WriteLine("...");— top-level statements. - C# чувствителен к регистру; каждый оператор заканчивается
;.
Закрепите практикой
Задачи с автоматической проверкой — решайте прямо здесь, не уходя из учебника.