溫馨提示×

c# command能異步執行嗎

c#
小樊
113
2024-12-06 06:35:57
欄目: 編程語言

是的,C#中的命令(Command)可以異步執行。在C#中,你可以使用asyncawait關鍵字來實現異步編程。以下是一個簡單的示例,展示了如何使用異步命令:

using System;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        // 創建一個異步命令
        var command = new Command(async () =>
        {
            Console.WriteLine("開始執行異步任務...");
            await Task.Delay(3000); // 模擬耗時操作
            Console.WriteLine("異步任務完成!");
        });

        // 運行異步命令
        command.Execute();

        Console.WriteLine("按任意鍵繼續...");
        Console.ReadKey();
    }
}

// 自定義命令類
public class Command
{
    private readonly Func<Task> _action;

    public Command(Func<Task> action)
    {
        _action = action;
    }

    public void Execute()
    {
        Task.Run(_action);
    }
}

在這個示例中,我們創建了一個名為Command的自定義類,它接受一個Func<Task>類型的參數。這個參數表示要執行的異步操作。Execute方法使用Task.Run來運行異步操作。

Main方法中,我們創建了一個異步命令,并傳入一個匿名方法,該方法使用await Task.Delay(3000)模擬耗時操作。然后我們調用command.Execute()來運行異步命令。程序將在異步任務完成之前繼續執行,并在完成后輸出提示信息。

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