在我的 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/