Il termine "pre-comando" solo per coerenza con il linguaggio di programmazione C e C++. Nessuna fase di pretrattamento separata in C #; le direttive di preelaborazione delle parti vengono elaborate nella fase di analisi lessicale.
dichiarazione-pp (dichiarazione pp)
pp-condizionale (condizione pp)
riga pp (riga pp)
pp -diagnostica (diagnostica pp)
regione pp (regione pp)
sono disponibili le seguenti direttive di preelaborazione:
#define e #undef, rispettivamente per definire e annullare la definizione dei simboli di compilazione condizionale.
# if, # elif, # else e #endif, un salto condizionale di sezioni del codice sorgente.
#line, per il controllo dei numeri di riga (utilizzare il rilascio dei messaggi di errore e di avviso).
#error e #warning, rispettivamente, e per emettere un avviso di errore.
#region e #endregion vengono utilizzati per contrassegnare in modo esplicito il codice sorgente.
le istruzioni di pre-elaborazione occupano sempre una riga separata nel codice sorgente e iniziano sempre con un carattere # pre-elaborazione e nome dell'istruzione. Gli spazi bianchi possono verificarsi tra il carattere anteriore e # # e i caratteri del nome del comando.
contenente # define, # undef, # if, # elif, # else, # endif #istruzione riga o riga sorgente può terminare con un commento a riga singola. Sulla riga di origine contenente l'istruzione non è consentito il commento pre-delimitato (/ * * / commenti di stile).
le direttive di preelaborazione non sono etichettate e non fanno parte della grammatica sintattica C#. Tuttavia, le sequenze di marcatori possono includere o escludere istruzioni di pretrattamento e possono influenzare il significato di un programma C # in questo modo.