c# - 输入按键后 CMD 关闭

标签 c# .net visual-studio cmd

我使用的是 Visual Studio 2015,进入项目文件夹>bin>debug>ConsoleApplication1 并打开它,命令提示符打开并显示:键入一个数字,任意数字!如果我按任意键,命令提示符会立即关闭,再次尝试删除和编码但没有用,仍然会关闭,但在 Visual Studio 中,当我按 Ctrl + F5 时,一切正常。

 class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Type a number, any number!");
        ConsoleKeyInfo keyinfo = Console.ReadKey();

        PrintCalculation10times();

        if (char.IsLetter(keyinfo.KeyChar)) 
        {
            Console.WriteLine("That is not a number, try again!");
        }

        else
        {
            Console.WriteLine("Did you type {0}", keyinfo.KeyChar.ToString());
        }

    }

    static void PrintCalculation()
    {
        Console.WriteLine("Calculating");
    }

    static void PrintCalculation10times()
    {
        for (int counter = 0; counter <= 10; counter++)
        {
            PrintCalculation();
        }
    }

}

最佳答案

在控制台应用程序中,我通常会在 main() 方法的末尾添加一些类似的内容,以防止程序在读取输出之前关闭。或者在一个单独的实用程序方法中实现它,您可以从任何控制台应用程序调用该方法...

while (Console.ReadKey(true).Key != ConsoleKey.Escape)
{
}

如果您愿意,您可以在此之后放置任何其他退出代码。

或者您可以像这样处理 Ctrl-C:How do I trap ctrl-c in a C# console app并随后处理。

关于c# - 输入按键后 CMD 关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35803759/

相关文章:

c# - 如何为构造函数自定义 Visual Studio 的私有(private)字段生成快捷方式?

git - 在Visual Studio中 merge 后发生冲突时,某些文件已被删除

.net - 如何在自定义 CF 控件中覆盖 Ambient BackColor

c# - 将 Putty 登录凭据转换为 C# MySqlConnection 连接字符串

c# - DDD\CQRS\Event Sourcing 和请求历史数据

c# - Entity Framework Core 唯一索引测试

c# - NuGet 恢复在 Docker 容器内停止工作

.net - Windows 服务的 Log4net

c# - 如何在 asp c# 中定义结构中的列表?

c# - 为什么在 .NET 中将返回类型 void 声明为 struct?