【发布时间】:2011-09-24 05:39:35
【问题描述】:
我最近在我的应用程序中遇到了以下问题:它没有显示任何控制台输出,尽管控制台是使用AllocConsole 分配的。我很快就发现它是由在调用AllocConsole 之前尝试写入控制台(隐藏在代码中)引起的。所以它看起来像这样:
Console.WriteLine("Foo"); // no console allocated yet
AllocConsole(); // console window appears
Console.WriteLine("Bar"); // expecting "Bar" in the console, but the console is blank
所以我的问题是:为什么会发生这种情况?我没有看到任何异常(尽管我认为它们存在)。
【问题讨论】:
-
现在已经解释了它发生的原因,我希望有人能解释如何处理它。是不是使用的任何第三方库都可以写入控制台并为所有其他人搞砸事情?正确的解决方案是否只有在做任何其他事情之前尽早决定并
AllocConsole? -
@Hemal 我使用了 Rick 描述的一种方法 - 在
AllocConsole之后调用Console.OpenStandartOutput()。这样我可以确定至少在AllocConsole之后写入的所有输出都会显示出来。
标签: c# console console.writeline