# 如果不调试 c # ?

我有一行 vb 代码:

#if Not Debug

我必须转换它,但我在 c # 中没有看到它?

有没有类似的东西,或者有什么变通方法?

80356 次浏览

我觉得这样行得通

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

你需要使用:

#if !DEBUG
// Your code here
#endif

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

#if !Debug
// Your code here
#endif

文件开始,你可以有效地把 DEBUG看作一个布尔值,所以你可以做一些复杂的测试,比如:

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

正如您所熟悉的,#if是一个预处理表达式,而 DEBUG是一个条件编译符号。这是一篇 MSDN 的文章进行更深入的解释。

默认情况下,在 调试配置中,VisualStudio 将检查项目的 Build 属性下的 定义 DEBUG 常量选项。这对 C # 和 VB.NET 都适用。如果你想疯狂,你可以定义新的构建配置和定义你自己的条件编译符号。当你看到这个的时候,典型的例子是:

#if DEBUG
//Write to the console
#else
//write to a file
#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
}