Skip to content

CSharp Directives

Codex edited this page Oct 11, 2026 · 2 revisions

Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

Директиви, версія мови та параметри компіляції

Посібник C# · Приклади UO

Директиви починаються з # на початку рядка: #if/#elif/#else/#endif, #define, #undef, #region, #endregion, #warning, #error, #line, #pragma, #nullable. Вони керують компіляцією чи діагностикою. #region організує редактор, але з створює область видимості.

Простий приклад (Example.cs)

Збережіть цей приклад окремо як Example.cs. Запускайте його незалежно від інших прикладів на сторінці.

Example.cs:

// PROJECT-EXAMPLE
#define REPORT
#if REPORT
System.Console.WriteLine("Enabled");
#else
System.Console.WriteLine("Disabled");
#endif

Результат:

Enabled
#nullable enable
string? name = null;
UO.Print(name ?? "unknown");
#if DEBUG
UO.Print("Debug configuration");
#else
UO.Print("Regular configuration");
#endif

Звичайний проект задає TargetFramework, LangVersion, Nullable, AllowUnsafeBlocks та інші властивості в .csproj. Синтаксис визначається компілятором, а доступні API - Також цільовою платформою та залежностями.

З сучасних можливостей C# важливі raw-рядки, collection expressions, primary constructors, list patterns, required, розширені ref-можливості, розширення та властивості з field. Для точних умов конкретної версії використовуйте офіційну історію мови; preview-можливості включаються окремим параметром проекту.

Офіційна документація: Директиви, версія мови та параметри компіляції – Microsoft Learn.

Clone this wiki locally