direttive del preprocessore # C
Istruire il preprocessore compilatore prima dell'inizio effettivo compilazione del pretrattamento informazioni.
Tutte le direttive del preprocessore iniziano con #. E su una linea, solo i caratteri vuoti possono apparire prima di una direttiva del preprocessore. direttiva del preprocessore non è una dichiarazione, quindi non sono un punto e virgola; end ().
C # compilatore non ha un pre-processore separato, tuttavia, avere un preprocessore separato come istruzione viene elaborata. In C #, le direttive del preprocessore per il lavoro la compilazione condizionale. C e C ++ non hanno diverse istruzioni, non sono utilizzati per creare una macro. Una direttiva del preprocessore deve essere l'unica istruzione su quella linea.
C lista direttive del preprocessore #
La seguente tabella elenca le direttive del preprocessore C # sono disponibili:
预处理器指令 | 描述 |
---|---|
#define | 它用于定义一系列成为符号的字符。 |
#undef | 它用于取消定义符号。 |
#if | 它用于测试符号是否为真。 |
#else | 它用于创建复合条件指令,与 #if 一起使用。 |
#elif | 它用于创建复合条件指令。 |
#endif | 指定一个条件指令的结束。 |
#line | 它可以让您修改编译器的行数以及(可选地)输出错误和警告的文件名。 |
#error | 它允许从代码的指定位置生成一个错误。 |
#warning | 它允许从代码的指定位置生成一级警告。 |
#region | 它可以让您在使用 Visual Studio Code Editor 的大纲特性时,指定一个可展开或折叠的代码块。 |
#endregion | 它标识着 #region 块的结束。 |
preprocessore #define
direttiva del preprocessore #define crea costanti simboliche.
#define consente di definire un simbolo, in modo che, attraverso l'uso del simbolo è passato all'espressione direttiva #if come espressione restituisce true. La sua sintassi è la seguente:
simbolo #define
Il seguente programma illustra questo punto:
#define PI using System; PreprocessorDAppl namespace { Programma di classe { static void Main (string [] args) { #if (PI) Console.WriteLine ( "PI è definita"); #else Console.WriteLine ( "PI non è definito"); #endif Console.ReadKey (); } } }
Quando il codice di cui sopra è compilato ed eseguito, produce i seguenti risultati:
PI è definita
le istruzioni condizionali
È possibile utilizzare la direttiva #if per creare un'istruzione condizionale. le istruzioni condizionali per testare se il simbolo è vero. Se fosse vero, il compilatore eseguirà il codice tra #if e l'istruzione successiva.
Sintassi di istruzione condizionale:
#if simbolo [simbolo operator] ...
In cui,simbolo è il nome simbolico da testare. È inoltre possibile utilizzare vero e falso, o un simbolo è posto di fronte l'operatore di negazione.
simboli operatoresono utilizzati per valutare il simbolo dell'operatore. Gli operatori possono essere uno dei seguenti operatori:
- == (Uguaglianza)
- ! = (Diseguaglianza)
- && (E)
- || (O)
È inoltre possibile utilizzare le parentesi per simboli e operatori del gruppo. l'istruzione condizionale nella versione debug o compilare il codice di configurazione compilato specificato. Un'istruzione condizionalea partire dalladirettiva#if,deve essere esposto in una istruzione#endifè chiuso.
Il seguente programma illustra l'utilizzo di istruzioni condizionali:
DEBUG #define #define VC_V10 using System; public class TestClass { public static void Main () { #if (DEBUG &&! VC_V10) Console.WriteLine ( "DEBUG è definito"); #elif (! DEBUG && VC_V10) Console.WriteLine ( "VC_V10 è definita"); #elif (DEBUG && VC_V10) Console.WriteLine ( "DEBUG e VC_V10 sono definiti"); #else Console.WriteLine ( "DEBUG e VC_V10 non sono definiti"); #endif Console.ReadKey (); } }
Quando il codice di cui sopra è compilato ed eseguito, produce i seguenti risultati:
DEBUG e VC_V10 sono definiti