我有一行 vb 代码:
#if Not Debug
我必须转换它,但我在 c # 中没有看到它?
有没有类似的东西,或者有什么变通方法?
我觉得这样行得通
#if (DEBUG) //Something #else //Something #endif
你需要使用:
#if !DEBUG // Your code here #endif
或者,如果您的符号实际上是 Debug
Debug
#if !Debug // Your code here #endif
从 文件开始,你可以有效地把 DEBUG看作一个布尔值,所以你可以做一些复杂的测试,比如:
DEBUG
#if !DEBUG || (DEBUG && SOMETHING)
正如您所熟悉的,#if是一个预处理表达式,而 DEBUG是一个条件编译符号。这是一篇 MSDN 的文章进行更深入的解释。
#if
默认情况下,在 调试配置中,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 }