C#使用Delay处理用户输入

avatar
作者
猴君
阅读量:0

在C#中可以使用Task.Delay方法来处理用户输入的延迟。例如,可以设置一个延迟时间,然后在该时间内等待用户输入,如果用户在延迟时间内输入了内容,则可以立即对输入内容进行处理。以下是一个示例代码:

using System; using System.Threading.Tasks;  class Program {     static async Task Main(string[] args)     {         Console.WriteLine("Please enter something within 5 seconds:");                  var delayTask = Task.Delay(5000); // 设置延迟时间为5秒                  var userInputTask = GetUserInput(); // 获取用户输入的任务                  var completedTask = await Task.WhenAny(delayTask, userInputTask); // 等待延迟任务或用户输入任务完成                  if (completedTask == delayTask)         {             Console.WriteLine("Time's up. No input received.");         }         else         {             string userInput = await userInputTask;             Console.WriteLine($"User input received: {userInput}");         }     }      static async Task<string> GetUserInput()     {         return await Task.Run(() => Console.ReadLine());     } } 

在上面的示例中,我们使用Task.Delay来设置一个5秒的延迟时间,然后通过Task.WhenAny方法等待延迟任务或用户输入任务的完成。如果延迟任务先完成,则提示用户未及时输入内容;如果用户输入任务先完成,则获取用户输入并进行处理。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!