我在vb代码中有一行:
#if Not Debug
Run Code Online (Sandbox Code Playgroud)
我必须转换,我在c#中看不到它?
有没有相当于它的东西,还是有一些解决方法?
Cod*_*ked 214
你需要使用:
#if !DEBUG
// Your code here
#endif
Run Code Online (Sandbox Code Playgroud)
或者,如果您的符号实际上是 Debug
#if !Debug
// Your code here
#endif
Run Code Online (Sandbox Code Playgroud)
从文档中,您可以有效地将其DEBUG
视为布尔值.所以你可以做复杂的测试,如:
#if !DEBUG || (DEBUG && SOMETHING)
Run Code Online (Sandbox Code Playgroud)
Aar*_*els 13
只是让你熟悉这里发生的事情,#if
是一个预处理表达式,并且DEBUG
是一个条件编译符号.这是一篇MSDN文章,可以进行更深入的解释.
默认情况下,在Debug配置中,Visual Studio将检查项目的Build属性下的Define DEBUG常量选项.这适用于C#和VB.NET.如果你想变得疯狂,你可以定义新的构建配置并定义自己的条件编译符号.你看到这个的典型例子是:
#if DEBUG
//Write to the console
#else
//write to a file
#endif
Run Code Online (Sandbox Code Playgroud)
万一它可以帮助别人,这是我的答案.
这不会正常工作:
#if !DEBUG
// My stuff here
#endif
Run Code Online (Sandbox Code Playgroud)
但这确实有效:
#if (DEBUG == false)
// My stuff here
#endif
Run Code Online (Sandbox Code Playgroud)
我认为类似的东西会起作用
#if (DEBUG)
//Something
#else
//Something
#endif
Run Code Online (Sandbox Code Playgroud)