>控制台应用程序通常依靠Console.ReadLine()
>用于用户输入。 但是,出现了必须进行响应超时以防止无限程序悬挂的情况。
存在各种解决方案,但许多解决方案不足:
>Console.ReadLine()
的替代方案通常缺乏关键特征,例如backspace,delete和箭头密钥支持。Reader
类采用背景线程来管理输入,提供以下方法:Reader
:读取具有可选超时的线路。 如果省略了
Reader.ReadLine(int timeoutMillisecs = Timeout.Infinite)
:类似于timeoutMillisecs
>,但是在超时内的成功输入时返回Reader.TryReadLine(out string line, int timeoutMillisecs = Timeout.Infinite)
>
ReadLine
true
>用法示例false
line
使用此解决方案:>使用您所需的超时(以毫秒为单位)。
>Reader
times out。
Reader.ReadLine()
参数访问输入。Reader.TryReadLine()
TimeoutException
此方法提供了几个关键的好处:Reader.ReadLine()
Reader.TryReadLine()
>保留功能:out
保留了始终如一地处理多个呼叫,仅确保一个主动输入请求。
Console.ReadLine()
响应性:以上是如何通过保留功能实现Console.Readline()的超时?的详细内容。更多信息请关注PHP中文网其他相关文章!