Compartir a través de


#define (Referencia de C#)

Utilice #define para definir un símbolo. Si utiliza el símbolo como expresión que se pasa a la directiva #if, la expresión se evaluará como true, como se muestra en el ejemplo siguiente.

#define DEBUG

Comentarios

NotaNota

La directiva #define no puede utilizarse para declarar valores constantes como suele hacerse en C y C++.En C#, las constantes se definen mejor como miembros estáticos de una clase o struct.Si tiene varias constantes de este tipo, puede considerar la posibilidad de crear una clase "Constants" independiente donde incluirlas.

Los símbolos se pueden utilizar para especificar condiciones de compilación. Puede comprobar el símbolo tanto con #if como con #elif. También se puede utilizar el atributo conditional para llevar a cabo una compilación condicional.

Es posible definir símbolos, pero no asignar valores a símbolos. La directiva #define debe aparecer en el archivo antes de cualquier instrucción que no sea una directiva de preprocesador.

También se puede definir un símbolo con la opción /define del compilador. La definición de un símbolo se puede anular mediante la directiva #undef.

Un símbolo definido mediante /define o #define no debe entrar en conflicto con una variable del mismo nombre. Es decir, no se debería utilizar un nombre de variable en una directiva de preprocesador ni evaluar un símbolo (constante simbólica) fuera de una directiva de preprocesador.

El ámbito de un símbolo creado mediante #define corresponde al archivo en el que se ha definido el símbolo.

Como se muestra en el ejemplo siguiente, debe colocar las directivas #define en la parte superior del archivo.

#define DEBUG
//#define TRACE
#undef TRACE

using System;

public class TestDefine
{
    static void Main()
    {
#if (DEBUG)
        Console.WriteLine("Debugging is enabled.");
#endif

#if (TRACE)
     Console.WriteLine("Tracing is enabled.");
#endif
    }
}
// Output:
// Debugging is enabled.

Para obtener un ejemplo de cómo no definir un símbolo, vea #undef (Referencia de C#).

Vea también

Tareas

Cómo: Realizar compilación condicional con Trace y Debug

Referencia

Directivas de preprocesador de C#

const (Referencia de C#)

#undef (Referencia de C#)

#if (Referencia de C#)

Conceptos

Guía de programación de C#

Otros recursos

Referencia de C#