溫馨提示×

C#使用Delay處理用戶輸入

c#
小樊
130
2024-06-25 00:56:38
欄目: 編程語言

在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方法等待延遲任務或用戶輸入任務的完成。如果延遲任務先完成,則提示用戶未及時輸入內容;如果用戶輸入任務先完成,則獲取用戶輸入并進行處理。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女