我正在按照MSDN中的指南学习C#。
现在,我刚刚尝试了示例1(这里是到MSDN的链接),我遇到了一个问题:为什么一旦显示了我的输出,控制台窗口就会立即关闭?
using System;
public class Hello1
{
public static int Main()
{
Console.WriteLine("Hello, World!");
return 0;
}
}
这里的问题是,他们的Hello World程序出现了,那么它就会立即关闭。
这是为什么呢?
因为它已经完成了。当控制台应用程序完成执行并从其main
方法返回时,关联的控制台窗口将自动关闭。这是预期的行为。
如果你想让它打开以进行调试,你需要指示计算机在结束应用程序和关闭窗口之前等待一个按键。
console.readline
方法是实现此目的的一种方法。将这一行添加到代码的末尾(就在return
语句之前)将导致应用程序在退出之前等待您按下某个键。
或者,您可以通过在Visual Studio环境中按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