小编典典

为什么控制台窗口在显示我的输出后立即关闭?

all

我正在按照 MSDN 中的指南学习 C# 。

现在,我刚刚尝试了 示例 1这里MSDN 的链接),我遇到了一个问题:为什么控制台窗口在显示我的输出后立即关闭?

using System;

public class Hello1
{
    public static int Main()
    {
        Console.WriteLine("Hello, World!");
        return 0;
    }
}

阅读 54

收藏
2022-08-16

共1个答案

小编典典

这里的问题是他们的 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
2022-08-16