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

最佳答案

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

关于c# - 当没有连接控制台时,Console.WriteLine 在 WinForms 应用程序中是否需要任何时间?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38061819/

10-15 04:46