当前位置: 首页 > 知识库问答 >
问题:

为什么一旦显示我的输出,控制台窗口就会立即关闭?

陆畅
2023-03-14

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

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

using System;

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

共有1个答案

巫经义
2023-03-14

这里的问题是,他们的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
 类似资料:
  • 问题内容: 在Java中,我尝试将String写入控制台。字符串的长度为20166个字符。将字符串打印到控制台后,仅出现字符串的后半部分。 整个字符串是一长行: 看起来像什么: 从一开始就有很多空格(应该是字母数字字符),然后是其余的字符串。 我试图将控制台编码从默认更改为UTF-16和UTF-8,但这没有帮助。 我要输出的字符串是从特定网页(http://docs.jquery.com/Tuto

  • 问题内容: 我在后台运行一个容器 它迅速退出。但是,如果我在前台运行,则可以正常运行。我使用检查了日志 没有错误。有任何想法吗? DOCKERFILE start-all.sh 问题答案: 一个Docker容器的主要过程完成后退出。 在这种情况下,它将在脚本结束时退出。我对hadoop不太了解,无法在这种情况下告诉您如何做,但是您需要要么在前台运行某些东西,要么使用诸如runit或supervis

  • 我想将结果发送到。我正在使用AJAX传递我的值。我不确定为什么我数据现在显示在一个按钮中。有谁能帮我解决这个问题吗?如果你们能给我提供如何解决我的问题的代码,那就更好了。提前道谢。 这是我的AJAX代码 编辑问题:我想根据用户当月的输入创建一个excel文件。因此,在用户选择了月份之后,当他们单击按钮时,excel文件将自动下载。我现在的问题是,我现在知道如何将month值传递到页面,在该页面中我

  • 现在,你已经在运用 MATLAB 的命令行了,输入命令语句,就会看到结果出现在命令窗口中。 这一节介绍如何: 控制输出值的格式 用MATLAB命令隐藏输出 在命令行中输入长的命令 编辑命令行

  • 我正在尝试构建一个简单的Web应用程序,它接受大量的二进制输入,并计算一个布尔公式,然后输出。我做错了什么? null null

  • 问题内容: 我有下一个Java类: 当我在Eclipse IDE中运行此代码时-在Eclipse控制台中看不到任何输出。 但是,如果我更改值 1448 并设置为 1447 以下,我会在控制台中看到输出(12345678 …) 因此,也许Eclipse IDE在控制台中对字符串长度有限制? 你怎么看待这件事? 谢谢。 问题答案: 在控制台中右键单击-> ->检查。现在,您具有自动自动换行功能,一切正