天天看點

C#中異步匿名委托和Lambda表達式

C#中async/await真的是大大簡化了異步程式的編寫,但往往我們可能忽略了異步匿名委托和Lambda表達式。

直接上代碼:

class Program
{
    static void Main(string[] args)
    {
        Func<Task> asyncFunc1 = async delegate
        {
            Console.WriteLine("Begin in Anonymous Delegate...");
            await Task.Delay(TimeSpan.FromSeconds(2));
            Console.WriteLine("End in Anonymous Delegate...");
        };
 
        Func<Task> asyncFunc2 = async () =>
        {
            Console.WriteLine("Begin in Lambda...");
            await Task.Delay(TimeSpan.FromSeconds(2));
            Console.WriteLine("End in Lambda...");
        };
 
        asyncFunc1();
        asyncFunc2();
 
        Console.WriteLine("Main thread");
        Console.ReadKey();
    }
}      

輸出:

C#中異步匿名委托和Lambda表達式

原來異步匿名委托或者異步Lambda表達式也是很容易編寫的。

繼續閱讀