当前位置: 首页 > 编程语言 > C#

C#在调试模式下运行时是否编译Debug语句?分享

时间:2023-04-10 15:23:10 C#

C#在debug模式下运行会编译出Debug语句吗?使用sayDebug.WriteLine来编写输出而不是大量的#ifDEBUG语句似乎是理想的(就可读性而言)。当程序在发布模式下编译时,Debug.WriteLine的所有开销是否都消失了,就好像它不存在一样,还是该函数仍在调用,但内部什么都没有?如果是这样,有没有办法在自定义类上获得此功能,即静态调用只会在我们处于调试模式时编译?它称为ConditionalAttribute,它已经存在:在发布模式下编译时,Debug.WriteLine()调用被完全删除。声明如下:[ConditionalAttribute("DEBUG")]publicstaticvoidWriteLine(stringmessage)因此,如果未声明DEBUG符号,则删除对它的任何调用,例如,在发布版本的默认配置中.(您可以更改为项目属性中的不同构建配置定义的预处理器符号。)(几乎?)调试每个方法。实际上,这是Debug和Trace之间的主要区别-Trace的方法也在发布中。以上是C#学习教程:C#在调试模式下运行时会编译Debug语句吗?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: