Skip to content

IT CSharp Directives

Codex edited this page Oct 11, 2026 · 2 revisions

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

Direttive, versione linguistica e opzioni di compilazione

Manuale C# · Esempi UO

Le direttive iniziano con # all'inizio della riga: #if/#elif/#else/#endif, #define, #undef, #region, #endregion, #warning, #error, #line, #pragma, #nullable. Controllano la compilazione o la diagnostica. #region organizza l'editor, ma non crea un ambito.

Esempio semplice (Example.cs)

Salvare questo esempio separatamente come Example.cs. Eseguirlo indipendentemente dagli altri esempi di questa pagina.

Example.cs:

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

Risultato:

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

Un tipico progetto definisce TargetFramework, LangVersion, Nullable, AllowUnsafeBlocks e altre proprietà in .csproj. La sintassi è determinata dal compilatore e anche il API disponibile è determinato dalla piattaforma di destinazione e dalle dipendenze.

Tra le caratteristiche moderne di C#, sono importanti le stringhe grezze, le espressioni di raccolta, i costruttori primari, i modelli di elenco, required, le capacità di riferimento avanzate, le estensioni e le proprietà con field. Per i termini esatti di una versione particolare, utilizzare la storia ufficiale della lingua; le funzionalità di anteprima sono abilitate da un parametro di progetto separato.

Documentazione ufficiale: Direttive, versione linguistica e opzioni di compilazione - Microsoft Learn.

Clone this wiki locally