# si no se depura en c #?


127

Tengo la línea en el código vb:

#if Not Debug

que debo convertir y no lo veo en c #?

¿Hay algo equivalente o hay alguna solución?

Respuestas:


239

Necesitarías usar:

#if !DEBUG
    // Your code here
#endif

O, si su símbolo es en realidad Debug

#if !Debug
    // Your code here
#endif

De la documentación , puede tratar efectivamente DEBUGcomo un booleano. Entonces puedes hacer pruebas complejas como:

#if !DEBUG || (DEBUG && SOMETHING)

15

Solo para que esté familiarizado con lo que está sucediendo aquí, #ifes una expresión de preprocesamiento y DEBUGes un símbolo de compilación condicional. Aquí hay un artículo de MSDN para una explicación más detallada.

De manera predeterminada, cuando está en la configuración de depuración , Visual Studio verificará la opción Definir constante de DEPURACIÓN en las propiedades de compilación del proyecto. Esto se aplica tanto a C # como a VB.NET. Si quiere volverse loco, puede definir nuevas configuraciones de compilación y definir sus propios símbolos de compilación condicional. Sin embargo, el ejemplo típico cuando ves esto es:

#if DEBUG
    //Write to the console
#else
    //write to a file
#endif

10

En caso de que ayude a alguien más, aquí está mi respuesta.

Esto no funcionaría bien:

#if !DEBUG
     // My stuff here
#endif

Pero esto funcionó:

#if (DEBUG == false)
     // My stuff here
#endif

3
Podría haber sido justo en el día en que esto se publicó, ¡pero al menos para VS 2015! DEBUG funciona como se esperaba
— Ole Albers

5

Creo que algo así funcionará

 #if (DEBUG)
//Something
#else
//Something
#endif

55
Simplemente señalar el paréntesis no es necesario para estas #ifdeclaraciones condicionales . Se puede escribir#if DEBUG
— atconway

0
     bool isDebugMode = false;
#if DEBUG
     isDebugMode = true;
#endif
    if (isDebugMode == false)
    {
       enter code here
    }
    else
    {
       enter code here
    }

55
Esta es una mala respuesta, ya que utiliza la lógica de tiempo de ejecución para manejar lo que se podría hacer en tiempo de compilación.
— antiduh

Las plantillas de tiempo de diseño T4 y similares necesitarán este tipo de cosas de vez en cuando.
— StingyJack
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.