如果没有连接控制台,WinForms应用程序中的Console.WriteLine是否需要任何时间?

3
在我的Windows Forms应用程序中,我使用Console.WriteLine向Visual Studio的输出窗口输出调试信息。与Debug.WriteLine相比,我更喜欢这种方式,因为它即使在Release版本中也可以工作,而且出于速度原因,我需要在Release模式下进行调试。但我想知道:如果我在应用程序中保留这些Console.WriteLines并部署它,它们会影响部署版本的速度吗?我知道Visual Studio以某种方式“附加”到应用程序的控制台输出,以显示Console.WriteLine的结果。我的问题是,在没有以那种方式附加情况下,Console.WriteLine是否是一个无操作(或至少是非常快速的操作)?

也许可以看一下这个帖子 https://bytes.com/topic/c-sharp/answers/428018-console-writeline-release-builds-performance-issue - bwegs
@bwegs,谢谢。我没有考虑过计时的方法。得到了我的答案。 - adv12
1个回答

3

阅读了@bwegs提供的论坛帖子后,我决定进行一项快速测试。 在调试器附加的情况下对Console.WriteLine进行一百万次调用需要很长时间(实际上我停止了应用程序而不是让它运行到完成)。 从文件资源管理器中运行相同的exe文件(未附加到调试器),同样的一百万个调用几乎立即返回。 因此,对于我的目的,Console.WriteLine足够快,可以在没有控制台附加的情况下留在我的应用程序中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接