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表达式也是很容易编写的。

猜你喜欢

转载自blog.csdn.net/zbbfb2001/article/details/80350443