如何使控制台窗口保持打开状态

本文关键字:状态 何使 控制台 窗口 | 更新日期: 2023-09-27 18:17:13

当我运行程序时,控制台窗口似乎运行并关闭。 如何保持打开状态以便我可以看到结果?

class Program
{
    public class StringAddString       
    {                        
        public virtual void AddString()
        {
            var strings2 = new string[] { "1", "2", "3", "4", "5","6", "7", "8", "9"};
            Console.WriteLine(strings2);
            Console.ReadLine();
        }
    }
    static void Main(string[] args)
    {          
        StringAddString s = new StringAddString();            
    }
}

如何使控制台窗口保持打开状态

将 Console.Read(( 作为程序的最后一行。这将阻止它关闭,直到您按下一个键

static void Main(string[] args)
{
    StringAddString s = new StringAddString();
    Console.Read();            
}
如果要在

调试时保持控制台打开,但在不调试时仍允许控制台正常关闭,则可以执行以下操作:

if (System.Diagnostics.Debugger.IsAttached) Console.ReadLine();

正如其他答案所述,对Console.ReadLine()的调用将使窗口保持打开状态,直到按下 Enter 键。使用上面的代码,只有在附加了调试器时才会调用Console.ReadLine()

我知道有两种方法。

  1. Console.ReadLine()放在程序的末尾。缺点:您必须更改代码,并且必须记住稍后将其删除。

  2. 在没有调试器的情况下运行,使用 CTRL+F5。这将在 Visual Studio 外部打开一个控制台窗口,并且该窗口在完成后不会关闭。优点:您不必更改代码。缺点:如果出现异常,程序不会放入调试器中。(但是,当您遇到异常时,只需使用调试器重新运行即可。

Console.ReadKey(true);

这个命令比ReadLine好一点,只有当你按 Enter 时才会通过。此处的 true 参数在读取结果时隐藏了丑陋闪烁的光标。任何击键都会终止程序。

你忘了调用你的方法:

static void Main(string[] args)
{          
    StringAddString s = new StringAddString();  
    s.AddString();
}

它应该停止您的控制台,但结果可能不是您所期望的,您应该稍微更改一下代码:

Console.WriteLine(string.Join(",", strings2));

您可以在不需要用户输入的情况下处理此问题。

第 1 步。在主线程的开头创建一个 ManualRestEvent

ManualResetEvent manualResetEvent = new ManualResetEvent(false);

步骤 2 .等待手动重置事件

manualResetEvent.WaitOne();

步骤 3.To 停止

manualResetEvent.Set();

main()方法的最后一行中写入Console.ReadKey();。此行阻止完成控制台。我希望它能帮助你。

如果您

使用Visual Studio,只需使用Crtl + F5而不是F5运行应用程序即可。这将在完成执行后使控制台保持打开状态。

最后使用 Console.Readline(( 。在手动关闭代码之前,代码不会关闭。由于 Readline 会等待需要为您的代码输入的输入,因此您的控制台将打开,直到您键入一些输入。

对于 Visual C# 控制台应用程序使用:

Console.ReadLine();
Console.Read();
Console.ReadKey(true);

对于 Visual C++ Win32 控制台应用程序,请使用:

system("pause");

按 Ctrl+F5 运行应用程序。

如果您使用的是Visual Studio,则IDE可以选择在

>调试>>选项

调试停止时自动关闭控制台

CTRL + F5 不同,这允许您在调试时使用断点。

确保使用Console.ReadLine();以防止前面的Console.WriteLine("");消息关闭。

Console.Read((

->控制台保持打开状态,直到您按下键盘上的按钮

为了能够在不关闭的情况下为其提供输入,您可以将代码包含在 while 循环中

while (true) 
{
     <INSERT CODE HERE>
}

它将继续在Console.ReadLine();停止,然后在您输入某些内容时执行另一个循环。