在C#中等待一定时间的按键可以通过使用Console.ReadKey()
方法结合Task.Delay()
方法来实现。下面是一个示例代码:
using System;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
Console.WriteLine("按下任意键开始计时...");
Console.ReadKey();
Console.WriteLine("开始计时,请在5秒内按下任意键...");
Task userInputTask = GetUserInputAsync();
await Task.WhenAny(userInputTask, Task.Delay(5000));
if (userInputTask.IsCompleted)
{
Console.WriteLine("您按下了键盘上的按键!");
}
else
{
Console.WriteLine("超过了等待时间,没有检测到按键!");
}
}
static async Task GetUserInputAsync()
{
await Task.Run(() => Console.ReadKey());
}
}
在上述代码中,首先使用Console.ReadKey()
方法等待用户按下任意键开始计时。然后,使用Task.WhenAny()
方法等待用户输入或者等待5秒钟的时间。如果用户在5秒内按下了键盘上的按键,userInputTask
任务将会完成,程序将输出"您按下了键盘上的按键!";如果超过了等待时间,userInputTask
任务将会超时,程序将输出"超过了等待时间,没有检测到按键!"。
这个方法可以用于需要等待用户输入一段时间后执行特定操作的场景,例如等待用户按下某个按键后执行下一步操作。
领取专属 10元无门槛券
手把手带您无忧上云