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