Repository navigation
RU CSharp Directives
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
Директивы начинаются с # в начале строки: #if/#elif/#else/#endif, #define, #undef, #region, #endregion, #warning, #error, #line, #pragma, #nullable. Они управляют компиляцией или диагностикой. #region организует редактор, но не создаёт область видимости.
Сохраните этот пример отдельно как 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.
ClassicUO — Bad Newbie & C# Scripts IDE