J'ai la ligne en code vb:
#if Not Debug
que je dois convertir, et je ne le vois pas en c #?
Y a-t-il quelque chose d'équivalent ou existe-t-il une solution de contournement?
J'ai la ligne en code vb:
#if Not Debug
que je dois convertir, et je ne le vois pas en c #?
Y a-t-il quelque chose d'équivalent ou existe-t-il une solution de contournement?
Réponses:
Vous auriez besoin d'utiliser:
#if !DEBUG
// Your code here
#endif
Ou, si votre symbole est en fait Debug
#if !Debug
// Your code here
#endif
À partir de la documentation , vous pouvez effectivement traiter DEBUGcomme un booléen. Vous pouvez donc faire des tests complexes comme:
#if !DEBUG || (DEBUG && SOMETHING)
Juste pour que vous soyez familier avec ce qui se passe ici, il #ifs'agit d'une expression de prétraitement et d' DEBUGun symbole de compilation conditionnelle. Voici un article MSDN pour une explication plus approfondie.
Par défaut, lors de la configuration de débogage , Visual Studio vérifiera l' option de constante Define DEBUG sous les propriétés de génération du projet. Cela vaut pour C # et VB.NET. Si vous voulez devenir fou, vous pouvez définir de nouvelles configurations de construction et définir vos propres symboles de compilation conditionnelle. L'exemple typique lorsque vous voyez cela est:
#if DEBUG
//Write to the console
#else
//write to a file
#endif
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
Je pense que quelque chose comme ça fonctionnera
#if (DEBUG)
//Something
#else
//Something
#endif
#ifinstructions conditionnelles . Il peut être écrit#if DEBUG
bool isDebugMode = false;
#if DEBUG
isDebugMode = true;
#endif
if (isDebugMode == false)
{
enter code here
}
else
{
enter code here
}