1. 程式人生 > >C#中非同步匿名委託和Lambda表示式

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();     } }

輸出:


原來非同步匿名委託或者非同步Lambda表示式也是很容易編寫的。