');

C# LanguageDirettive preprocessore

Sintassi

  • #define [symbol] // Definisce un simbolo del compilatore.
  • #undef [symbol] // Undefines un simbolo del compilatore.
  • #warning [messaggio di avviso] // Genera un avvertimento del compilatore. Utile con #if.
  • #error [messaggio di errore] // Genera un errore del compilatore. Utile con #if.
  • #line [numero linea] (nome file) // Sovrascrive il numero di riga del compilatore (e facoltativamente il nome del file sorgente). Utilizzato con modelli di testo T4 .
  • #pragma warning [disable | restore] [warning numbers] // Disabilita / ripristina gli avvisi del compilatore.
  • #pragma checksum " [nomefile] " " [guid] " " [checksum] " // Convalida il contenuto di un file sorgente.
  • #region [nome regione] // Definisce una regione di codice comprimibile.
  • #endregion // Termina un blocco dell'area del codice.
  • #if [condizione] // Esegue il codice qui sotto se la condizione è vera.
  • #else // Utilizzato dopo un #if.
  • #elif [condizione] // Utilizzato dopo un #if.
  • #endif // Termina un blocco condizionale avviato con #if.

Osservazioni

Le direttive del preprocessore sono generalmente utilizzate per rendere i programmi di origine facili da modificare e facili da compilare in diversi ambienti di esecuzione. Le direttive nel file sorgente indicano al preprocessore di eseguire azioni specifiche. Ad esempio, il preprocessore può sostituire i token nel testo, inserire il contenuto di altri file nel file sorgente o sopprimere la compilazione di parte del file rimuovendo sezioni di testo. Le linee del preprocessore vengono riconosciute e eseguite prima dell'espansione macro. Pertanto, se una macro si espande in qualcosa che assomiglia a un comando del preprocessore, tale comando non viene riconosciuto dal preprocessore.

Le istruzioni di preprocessore utilizzano lo stesso set di caratteri delle istruzioni del file di origine, con l'eccezione che le sequenze di escape non sono supportate. Il set di caratteri utilizzato nelle istruzioni del preprocessore è uguale al set di caratteri di esecuzione. Il preprocessore riconosce anche i valori dei caratteri negativi.

Espressioni condizionali

Le espressioni condizionali ( #if , #elif , ecc.) Supportano un sottoinsieme limitato di operatori booleani. Loro sono:

  • == e != . Questi possono essere utilizzati solo per verificare se il simbolo è vero (definito) o falso (non definito)
  • && , || , !
  • ()

Per esempio:

#if !DEBUG && (SOME_SYMBOL || SOME_OTHER_SYMBOL) && RELEASE == true
Console.WriteLine("OK!");
#endif

compilerebbe il codice che stampa "OK!" alla console se DEBUG non è definito, sono definiti SOME_SYMBOL o SOME_OTHER_SYMBOL e RELEASE è definito.

Nota: queste sostituzioni vengono eseguite in fase di compilazione e pertanto non sono disponibili per l'ispezione in fase di esecuzione. Il codice eliminato tramite l'uso di #if non fa parte dell'output del compilatore.

Vedere anche: Direttive preprocessore C # a MSDN.

Direttive preprocessore Esempi correlati