输出屏幕在C#控制台应用程序中突然消失?

时间:2014-02-01 13:51:18

标签: c# visual-studio-2013

我在VS 2013中编写了一个简单的C#控制台应用程序,但问题是输出屏幕闪烁片刻并突然消失。我使用备用方式并最终编写Console.Readline()方法并修复问题。所以我个人认为这只是一个停止屏幕而不是正确方法的技巧。所以任何人都可以用正确的方式解释我这样做??

4 个答案:

答案 0 :(得分:2)

程序立即关闭,因为没有什么能阻止它关闭。在return 0;插入一个断点或在Console.Read();之前添加return 0;以阻止程序关闭。

  

完成程序后,按 Ctrl + F5 (不运行   调试)。这将在关闭窗口之前提示,这是   你想要什么。

在最后使用此行

Console.ReadKey();

答案 1 :(得分:1)

不,这是正确的做法。 Console.ReadLine()Console.ReadKey()是一个阻塞语句:它们会在继续之前暂停线程以等待输入。如果您不这样做,程序将到达终点,从而退出控制台。

在一个更大的控制台程序中,您可能会有一个while(running)循环,并且GUI将不会出现此问题,直到其GUI线程被明确停止(关闭窗口),但对于一个简单的控制台应用程序,您可以只是使用这个'技巧'。

答案 2 :(得分:0)

是的,只要您不停止应用程序,它就会继续运行,并在完成处理后结束。

这就是为什么你需要Console.ReadLine(),它会停止处理并等到你告诉它继续。

答案 3 :(得分:0)

当您在调试模式下运行程序时,如果您没有任何BreakPoints,或者.NET引擎不需要从用户读取IO,那么它只是完成执行而不再等待。

如果你想在最后停止执行想要查看控制台屏幕,你可以使用任何IO读取语句,如下所示:

Console.ReadLine();
Console.Read();
Console.ReadKey();

OR

只需按without Debugging

即可以Ctrl+F5模式运行您的程序