当没有连接控制台时,Console.WriteLine是否会在WinForms应用程序中占用任何时间?

时间:2016-06-27 19:31:16

标签: c# winforms visual-studio console

在我的Windows窗体应用程序中,我使用Console.WriteLine将调试信息发送到Visual Studio的“输出”窗口。我更喜欢Debug.WriteLine,因为它甚至适用于Release版本,出于速度原因,我需要在Release模式下进行调试。但我想知道:如果我将Console.WriteLines留在我的应用程序中并进行部署,它们是否会影响部署版本的速度?我知道Visual Studio以某种方式“附加”到应用程序的控制台输出以显示Console.WriteLine的结果。我的问题是,当以这种方式附加任何内容时,Console.WriteLine是无操作(或者至少是非常快速的操作)?

1 个答案:

答案 0 :(得分:3)

在阅读@bwegs链接的forum thread之后,我决定做一个快速测试。附加调试器的Console.WriteLine一百万次调用需要很长时间(实际上我停止了应用程序,而不是让它运行完成)。从文件资源管理器运行相同的exe(未附加到调试器),相同的百万次调用基本上立即返回。因此,就我的目的而言,Console.WriteLine足够快,没有附加控制台就可以离开我的应用程序。