清除控制台缓冲区

2024-03-01

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

If I press Enter while the Console.WriteLine() method is displaying then the application exits.

如何在执行之前清除输入缓冲区Console.ReadKey()方法,这样无论用户在显示数据时按 Enter 按钮多少次,Console.ReadKey()方法应该阻止应用程序退出?


不幸的是,Console 类中没有内置方法。但你可以这样做:

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

Console.ReadKey(); // reads a char

Use Console.ReadKey(true)如果您不想打印跳过的字符。

微软参考资料

  • Console.KeyAvailable https://learn.microsoft.com/en-us/dotnet/api/system.console.keyavailable?view=net-5.0#System_Console_KeyAvailable

  • Console.ReadKey(布尔) https://learn.microsoft.com/en-us/dotnet/api/system.console.readkey?view=net-5.0#System_Console_ReadKey_System_Boolean_

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

清除控制台缓冲区 的相关文章

  • 为什么 std::move() 没有窃取 int 值? [复制]

    这个问题在这里已经有答案了 std move 正在窃取字符串值 而不是 int 请帮助我 int main int i 50 string str Mahesh int j std move i string name std move s
  • 使用 cout 打印字符数组的全部内容

    我对 C 很陌生 只是 Java 的背景不太好 并且对如何打印 char 数组的全部内容感到困惑 我相信我需要使用循环 并将循环基于数组的长度 但我的编译尝试没有成功 这就是我现在所拥有的 在此先感谢您的帮助 include
  • 多线程中的 OpenCV CascadeClassifier C++ 接口

    我想在多个线程中使用 CascadeClassifier 对象运行 OpenCV C 接口 我的程序的工作方式是我的主线程将 some file xml 加载到 CascadeClassifier 对象中 生成三个或更多线程并向它们传递级联
  • 将委托作为方法参数传递

    我目前正在开发一个 EventManager 类 以确保没有任何事件连接到失效的 WCF 双工客户端 并控制防止从同一客户端到一个事件的多个连接 现在基本上 我所坚持的就是尝试将事件委托传递给一个函数来控制这样的分配 var handler
  • 什么是 .NET 程序集?

    什么是 NET 程序集 我浏览了网络 但无法理解其定义 程序集是 net 应用程序的最小部署单元 它可以是一个dll or an exe 它主要有两种类型 私人集会 dll 或 exe 是一个应用程序的专有财产 一般存放在应用程序根文件夹中
  • 是否存在永远不会匹配任何字符串的正则表达式? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何取消异步下载?

    我有一个问题 如何取消下载 client CancelAsync 对我来说不起作用 因为如果我取消下载并开始新的下载 代码仍会尝试访问旧的下载文件 您必须知道 在我的代码中 有一个部分 当下载完成时 它应该解压缩已下载的文件 像这样的示例
  • 为什么“扔”和“扔前”在这种情况下有相同的行为?

    我惊呆了 我一直以为throw单独在 catch 块中会抛出手头的异常而不改变堆栈跟踪 但是throw ex在 catch 块中将更改堆栈跟踪以显示源自语句位置的异常 采取以下两个代码块 我希望输出会略有不同 因为使用throw和其他用途t
  • 如何获取结构数据的十六进制转储

    finalize char hdrs sendip data headers int index sendip data data sendip data pack 出于调试目的 我想要一个十六进制转储data and pack结构体 其类
  • 无法打开包含的文件

    我使用的是 BorlandC 和 Windows 7 当我编译该文件时 出现以下错误 Error Assign C Unable to open include file stdio h Error Assign C Unable to o
  • 添加 Imap 文件夹 Mailkit

    我尝试使用 Mailkit 添加顶级文件夹 因此当我添加以下标签时 我可以将它们分组到该文件夹 下 标签是 邮件包 档案 邮件包 标记 我想创建一个名为 mailkit 的文件夹 以便 gmail 将它们分组 但目前我似乎无法找到执行此操作
  • 友元模板特化声明中不允许使用 Constexpr 吗?

    我正在移植 C 14 constexpr代码库从 Clang 到最新的 g 5 1 考虑以下本土开发的简化代码片段bitset自 Clang 3 3 的太平岁月以来 现在已经快 2 年了 该类就一直可以正确编译 include
  • 使用 Clang 将 C++ 转换为 C 代码

    我知道llvm可用于将c 转换为c代码 我想知道是否clang可以做同样的事情 看成clang源自llvm 那么我可以使用clang将c 代码转换为c代码 如果你想知道我为什么要这样做 这是我的场景 PIC是一家微控制器制造商 不生产C 编
  • IIS / .Net 只允许对给定用户会话进行单个并发响应

    这是我的问题 我们有一个 Net 4 5 Web 表单应用程序 由于服务器端的大量数据访问和操作 应用程序中的某些页面需要很长时间才能加载 如果用户在页面完成加载之前关闭浏览器选项卡 然后打开新选项卡 则新选项卡中对应用程序的任何请求都将挂
  • 如何将逗号分隔的列值与另一个表作为行连接

    我试图通过首先转换我正在成功执行的 SupplierId 列中的逗号分隔值来连接两个表 然而 当我尝试通过外键 DCLink 加入另一个带有供应商名称的表 Vendors 时 问题就出现了 这就是我的意思 原始表的 select 语句 SE
  • 调用服务时Request.InputStream为空

    我正在开发 ASP NET 4 5 应用程序 并且遇到了一个非常烦人的问题 迁移到 VS2012 后我们遇到了同样的问题here https stackoverflow com questions 12391586 visual studi
  • 链接到 C++ 库时在 C 中使用 setjmp 和 longjmp

    我想在链接到用 C 实现的库 但具有 C API 的 C 程序中使用 setjmp 和 longjmp C 代码确实进行动态内存分配 并且指针通过 API 传递 但只要代码的 C 端正确管理这些 不透明 对象 使用 longjmp 时就不应
  • 从 C# 2.0 中的 dll 获取命名空间、类名

    我将动态获取dll 我需要加载 dll 并获取命名空间 类名来调用方法 方法名称是静态的 它将始终为 OnStart 基本上我需要通过加载 dll 来运行一个方法 有人可以帮忙吗 要加载程序集 您可以这样做 Assembly assembl
  • 在一个 Linq to Entities 查询中多次实现“like”运算符

    我们有一个字符串列表 我们需要通过该列表过滤结果 示例将查找所有 SSN 以 465 496 或 497 加上 x 更多 开头的学生 List
  • 为什么这个结构体的大小是32?

    这就是结构 Structure pour communiquer les param tres de traitement travers le MMF struct params traitement mmf int brilliance

随机推荐

  • 使用 HTMLUnit 使用 Java 以编程方式登录 Facebook

    这个问题有点像这个问题的补充 如何使用 Java 以编程方式登录 Facebook https stackoverflow com questions 2285250 how to log into facebook programmati
  • 是否可以让 Handler 意识到它已被删除?

    我正在编写一个自定义日志配置类 它设置一个特定的处理程序并将其与根记录器关联 并计划在多个应用程序中使用它 我担心实际的程序代码会删除该处理程序并安装另一个处理程序 有没有一种方法可以让处理程序检测到它已从特定记录器中删除 或者让记录器报告
  • 显示喜欢项目列表中的项目的用户

    我认为这是一个不切实际的问题 但我想得到一些反馈来确认 我有一个产品和用户数据库 用户可以在其中喜欢产品 喜欢的数据存储在仅包含 pid 和 uid 的参考表中 客户请求是显示喜欢产品列表中每个产品的 3 位用户 问题是 不可能在产品列表的
  • Chrome/Webkit 中的 CSS 动画/缩放问题

    此效果在 FF 中运行良好 但在 Chrome 中则不然 Chrome 中的 Firebug 结果显示 webkit animation 未在 Chrome 中呈现 然而 在 Firefox 中 您会在对象入口处看到 拉伸 效果 在 Chr
  • 使用 ICS 更改 wifi 网络时,ErrnoException:isConnected 失败:EHOSTUNREACH(没有到主机的路由)

    在 ics 上使用我的应用程序时 将 wifi 网络从网络更改为网络后 所有图像请求都开始返回 但出现异常 异常失败 gt org apache http conn HttpHostConnectException Connection t
  • 使用 Scanner 的 nextLine() 和 hasNextLine() 方法时出现问题

    我有一个包含以下数据的日志文件 最短路径 2 RV3280 RV0973C RV2888C最短路径 1 RV3280 RV2502C最短路径 2 RV3280 RV2501C RV1263最短路径 2 RV2363 Rv3285 RV328
  • Windows 服务如何以标准时间间隔启动应用程序?

    顾问设置 Windows 服务来运行应用程序 该应用程序应该每 15 分钟运行一次 该应用程序根本没有运行 并且服务似乎运行良好 我不熟悉应用程序作为服务运行时如何以标准间隔运行 该服务使用 SRVANY EXE 工具 任何使用 SRVAN
  • mysql删除重复数据

    这向我显示了所有具有完全相同的两个条目的名字和姓氏 SELECT firstname lastname COUNT AS Count FROM people GROUP BY firstname lastname HAVING Count
  • 尝试运行 Strapi 会出现模块解析错误

    我正在尝试通过 Ubuntu 20 04 上的 npm 使用 npm rundevelop 运行一个 Strapi 项目 该代码来自我的一个小组项目 没有其他人遇到这些问题 Error cache plugins strapi plugin
  • 带有 goto 命令的 Windows 批处理文件不起作用

    我对 GOTO 命令和附属标签有疑问 事实 给定文件夹中的一堆文件 它们是日志错误 我需要打开它们并检查它们是否包含特定字符串 如果是 则从文件名中删除一些字符 最后一次出现 之后的所有字符 包括其本身 并执行其他操作 为了切断字符 我以循
  • F# 缺少类型约束

    在以下代码中 请注意 get Zero 的类型约束 type Wrapper lt t gt Data t let compute lt t when t static member get Zero unit gt t and t sta
  • nodejs Route.get() 需要回调函数但得到一个 [object String]

    我开始使用带有express的nodejs进行编码 所以我在我的文件 test js 中执行了此操作 该文件位于我的文件夹中 const express require express const router new express Ro
  • 每组查询的前 3 个值 MS Access

    我是 MS Access 的新手 我正在尝试进行一个查询 该查询将根据分数提取 3 个不同类别中的前 3 名人员 即期望的结果是 Child s name Membership Type Total Points Jon Snow Seni
  • 无法在特定 div 上滚动来触发 jquery 函数

    简短版本 这有效 document on click Container function 这不会 document on scroll Container function 长版 很抱歉 发布代码片段是不可行的 因为它是一个复杂的类似应用
  • 类中的部分评估类型

    这是我提出的问题的具体版本here https stackoverflow com questions 60072003 reordering type parameters in haskell 我有一个算法 可以产生一些输出 并且可以产
  • 使用鼠标选择要捕获的区域

    我正在制作一个基于Java的屏幕截图应用程序 当您按下键盘上的组合键时 我想这样做这个视频 http www youtube com watch v bJ6VbbpQ0XY发生在您在屏幕上选择区域的位置 并且它会拍摄所选区域的屏幕截图 如何
  • Google 搜索查询中参数的含义? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 有没有关于 Google 查询中的参数含义的资源 有没有分析过 Google 搜索页面的内部运作方式 例子是 http www googl
  • 如何使用eclipse进行C#开发? [复制]

    这个问题在这里已经有答案了 可以使用eclipse进行C 开发吗 如果可以的话 该怎么办呢 您最喜欢的组合是什么 虽然我见过一些半成品的插件 但我不相信有任何东西可以做到这一点close到 Eclipse 中的 Java 工具 如果您使用的
  • 使用 jquery-1.4.1.js 访问被拒绝

    我正在使用 VS2010 和 jquery 1 4 1 js 版本 我尝试访问 WCF 服务 但出现奇怪的错误 访问被拒绝 in jquery 1 4 1 js在页码处4982 jquery 1 4 1 js Open the socket
  • 清除控制台缓冲区

    我正在 VS2008 中编写一个示例控制台应用程序 现在我有一个Console WriteLine 在屏幕上显示输出的方法 然后有Console ReadKey 等待用户结束应用程序 If I press Enter while the C