C # directivas del preprocesador
Instruir al preprocesador del compilador antes del inicio efectivo de compilar el tratamiento previo de la información.
Todas las directivas del preprocesador comienzan con #. Y en una línea, sólo los caracteres en blanco pueden aparecer antes de una directiva de preprocesador. directiva de preprocesador no es una declaración, por lo que no son un punto y coma; end ().
Compilador de C # no tiene un pre-procesador separado, sin embargo, les gusta tener un preprocesador como instrucción separada se procesa. En C #, las directivas del preprocesador para el trabajo de compilación condicional. C y C ++ no tienen instrucciones diferentes, que no se utilizan para crear una macro. Una directiva de preprocesador debe ser la única instrucción en esa línea.
C # lista de directivas del preprocesador
En la siguiente tabla se muestran las directivas del preprocesador de C # están disponibles:
预处理器指令 | 描述 |
---|---|
#define | 它用于定义一系列成为符号的字符。 |
#undef | 它用于取消定义符号。 |
#if | 它用于测试符号是否为真。 |
#else | 它用于创建复合条件指令,与 #if 一起使用。 |
#elif | 它用于创建复合条件指令。 |
#endif | 指定一个条件指令的结束。 |
#line | 它可以让您修改编译器的行数以及(可选地)输出错误和警告的文件名。 |
#error | 它允许从代码的指定位置生成一个错误。 |
#warning | 它允许从代码的指定位置生成一级警告。 |
#region | 它可以让您在使用 Visual Studio Code Editor 的大纲特性时,指定一个可展开或折叠的代码块。 |
#endregion | 它标识着 #region 块的结束。 |
preprocesador #define
directiva de preprocesador #define crea constantes simbólicas.
#define le permite definir un símbolo, de manera que, a través del uso del símbolo se pasa a la expresión directiva #if como la expresión devuelve verdadero. Su sintaxis es la siguiente:
símbolo # define
El programa siguiente ilustra este punto:
#define PI using System; PreprocessorDAppl de espacio de nombres { Programa de clases { static void main (String [] args) { #if (PI) Console.WriteLine ( "PI se define"); #else Console.WriteLine ( "PI no está definido"); #endif Console.ReadKey (); } } }
Cuando el código se compila y ejecuta, produce los siguientes resultados:
PI se define
instrucciones condicionales
Puede usar la directiva #if para crear una instrucción condicional. instrucciones condicionales para comprobar que es el símbolo es cierto. Si es verdad, el compilador se ejecutará el código entre #if y la siguiente instrucción.
sintaxis de la instrucción condicional:
#if símbolo [símbolo de operador] ...
En el que,el símbolo es el nombre simbólico a ensayar. También puede utilizar verdadero y falso, o símbolo se coloca en frente del operador de negación.
símbolos del operadorse usan para evaluar el símbolo del operador. Los operadores pueden ser uno de los siguientes operadores:
- == (Igualdad)
- ! = (Desigualdad)
- && (Y)
- || (O)
También puede utilizar paréntesis para agrupar símbolos y operadores. la instrucción condicional en la versión de depuración o compilar el código compilado de configuración especificado. Una instrucción condicionala partir de ladirectiva#if,debe ser representada en una instrucción#endifse termina.
El programa siguiente muestra el uso de instrucciones condicionales:
#define DEBUG #define VC_V10 using System; TestClass clase pública { public static void Principal () { # if (DEBUG &&! VC_V10) Console.WriteLine ( "DEBUG está definido"); #elif (! DEBUG && VC_V10) Console.WriteLine ( "VC_V10 se define"); #elif (DEBUG && VC_V10) Console.WriteLine ( "depurar y VC_V10 se definen"); #else Console.WriteLine ( "depurar y VC_V10 no están definidos"); #endif Console.ReadKey (); } }
Cuando el código se compila y ejecuta, produce los siguientes resultados:
Depurar y VC_V10 se definen