Console.WriteLine()和Debug.WriteLine()有什么区别? |
您所在的位置:网站首页 › bug和debug的区别 › Console.WriteLine()和Debug.WriteLine()有什么区别? |
Console.WriteLine()适用于控制台模式程序。Visual Studio宿主进程的一个很好的功能是,在调试没有控制台的进程时,它的输出会出现在Visual Studio输出窗口中。这在调试时非常有用,但请注意,当您准备创建发布版本时,应该删除此代码(或用#ifdef DEBUG包装它)。否则它会给你的程序增加不必要的开销。这使得它不是调试跟踪的理想选择。 如果您使用DEBUG conditional #定义构建,则Debug.WriteLine()会生成跟踪信息。它在调试版本中默认处于打开状态。可以在app.exe.config文件中配置输出的结束位置。如果此配置未被覆盖,.NET将自动提供DefaultTraceListener类的一个实例。它将带有Windows OutputDebugString() API函数的Debug.WriteLine()文本发送到调试器。Visual Studio调试器使其出现在输出窗口中,就像Console.WriteLine()一样。 Debug.WriteLine()的一个明显的优点是,它在发布版本中不会产生开销,调用被有效地移除。但是,它不支持复合格式,您需要使用String.Format()来实现。对于调试跟踪,debug类应该是您的选择。 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |