只有在我通过Visual Studio的调试工具调试程序时才能运行特定的代码吗?
如果我使用#if DEBUG
或Conditional(“DEBUG”)
,则在/ Debug目录中运行.exe时仍会触发代码。
答案 0 :(得分:8)
#if DEBUG
用于条件编译,它不会影响运行时的执行。
而是使用Debugger.IsAttached
在运行时分支。
答案 1 :(得分:0)
好的,我终于找到了答案:
if(Debugger.IsAttached)正是我所需要的。
答案 2 :(得分:0)
为了说清楚,以hashtag开头的语句是预处理器指令。翻译单元中没有这些指令;因此编译文件中不存在这些条件语句。
编辑似乎整个翻译单元的内容不适用于C#