#如果没有在C#中debugging?

我有在VB代码行:

#if Not Debug 

我必须转换,而我不看到它在C#中?

有没有相当的东西,还是有一些解决方法?

您将需要使用:

 #if !DEBUG // Your code here #endif 

或者,如果你的符号实际上是Debug

 #if !Debug // Your code here #endif 

从文档中 ,可以将DEBUG有效地视为布尔值。 所以你可以做一些复杂的testing:

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

只要你熟悉这里发生的事情, #if是一个预处理expression式,而DEBUG是一个条件编译符号。 这是一个MSDN文章更深入的解释。

默认情况下,在Debugconfiguration中,Visual Studio将检查项目的Build属性下的Define DEBUG常量选项。 这适用于C#和VB.NET。 如果你想疯了,你可以定义新的构buildconfiguration,并定义你自己的条件编译符号。 当你看到这个典型的例子是:

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

我觉得有些事情会起作用

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

以防万一它帮助别人,这是我的答案。

这是行不通的:

 #if !DEBUG // My stuff here #endif 

但是这确实奏效了:

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