170 votes

#if Not Debug in c #?

J'ai la ligne en code vb:

 #if Not Debug
 

que je dois convertir, et je ne le vois pas en c #?

Y at-il quelque chose d’équivalent, ou existe-t-il une solution de contournement?

340voto

CodeNaked Points 23538

Vous devez utiliser:

 #if !DEBUG
    // Your code here
#endif
 

Ou, si votre symbole est réellement Debug

 #if !Debug
    // Your code here
#endif
 

D'après la documentation , vous pouvez traiter efficacement DEBUG tant que booléen. Donc, vous pouvez faire des tests complexes comme:

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

18voto

Aaron Daniels Points 6052

Juste pour que vous sachiez ce qui se passe ici - #if est un pré-traitement de l'expression, et DEBUG est une compilation conditionnelle symbole. Voici un article MSDN pour une explication plus approfondie.

Par défaut, lorsque dans Debug configuration, Visual Studio va vérifier le Define DEBUG constante option dans le cadre du projet de construction de propriétés. Cela vaut pour les deux C# et VB.NET. Si vous souhaitez obtenir fou, vous pouvez définir de nouvelles configurations de génération et de définir votre propre symboles de compilation Conditionnelle. L'exemple typique quand vous voyez c'est:

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

17voto

Vaccano Points 18515

Juste au cas où cela aiderait quelqu'un d'autre, voici ma réponse.

Cela ne fonctionnerait pas correctement:

 #if !DEBUG
     // My stuff here
#endif
 

Mais cela a fonctionné:

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

5voto

KhanZeeshan Points 796

Je pense que quelque chose va marcher

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X