>控制台應用程序通常依靠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中文網其他相關文章!