【问题标题】:Clear Console Buffer清除控制台缓冲区
【发布时间】:2011-04-15 17:57:15
【问题描述】:

我正在 VS2008 中编写一个示例控制台应用程序。现在我有一个Console.WriteLine() 方法,它在屏幕上显示输出,然后有Console.ReadKey() 等待用户结束应用程序。

如果我在显示Console.WriteLine() 方法时按Enter,则应用程序将退出。

如何在Console.ReadKey() 方法之前清除输入缓冲区,以便在显示数据时无论用户按回车键多少次,Console.ReadKey() 方法都应该阻止应用程序退出?

【问题讨论】:

    标签: c# .net console-application


    【解决方案1】:

    很遗憾,Console 类中没有内置方法。但你可以这样做:

    while(Console.KeyAvailable) 
        Console.ReadKey(false); // skips previous input chars
    
    Console.ReadKey(); // reads a char
    

    如果您不想打印跳过的字符,请使用 Console.ReadKey(true)

    微软参考文献

    【讨论】:

      猜你喜欢
      • 2011-08-27
      • 1970-01-01
      • 2017-03-09
      • 1970-01-01
      • 1970-01-01
      • 2015-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多