我正在按照MSDN中的指南学习C#.
现在,我刚刚try 了Example 1(here是MSDN的链接),我遇到了一个问题:为什么控制台窗口在显示我的输出后立即关闭?
using System;
public class Hello1
{
public static int Main()
{
Console.WriteLine("Hello, World!");
return 0;
}
}
我正在按照MSDN中的指南学习C#.
现在,我刚刚try 了Example 1(here是MSDN的链接),我遇到了一个问题:为什么控制台窗口在显示我的输出后立即关闭?
using System;
public class Hello1
{
public static int Main()
{
Console.WriteLine("Hello, World!");
return 0;
}
}
这里的问题是,他们的Hello World计划正在显示,然后它将立即关闭.
为什么会这样呢?
Because it's finished.当控制台应用程序完成执行并从其main
方法返回时,关联的控制台窗口自动关闭.这是预期的行为.
如果您希望出于调试目的而使其保持打开状态,则需要指示计算机在结束应用程序并关闭窗口之前等待按键.
Console.ReadLine
method是做到这一点的一种方式.将此行添加到代码末尾(恰好在return
语句之前)将导致应用程序在退出前等待您按下某个键.
或者,您可以在Visual Studio环境中通过按[kbd>Ctrl+F5来启动应用程序,但这有一个明显的缺点,即阻止您使用调试功能,编写应用程序时可能需要这些功能.
最好的折衷办法可能是仅在调试应用程序时调用Console.ReadLine
方法,方法是将其包装在预处理器指令中.比如:
#if DEBUG
Console.WriteLine("Press enter to close...");
Console.ReadLine();
#endif
如果抛出了未捕获的异常,您可能还希望窗口保持打开状态.要做到这一点,你可以把Console.ReadLine();
放在finally
块中:
#if DEBUG
try
{
//...
}
finally
{
Console.WriteLine("Press enter to close...");
Console.ReadLine();
}
#endif