class AsyncLambda
{
static void Main()//使用Lambda表达式创建并调用一个异步函数 异步匿名函数
{
Func<int, Task<int>> function = async x =>//x 5
{
Console.WriteLine("Starting... x={0}", x);
await Task.Delay(x * 1000);//延迟5秒
Console.WriteLine("Finished... x={0}", x);
return x * 2;
};
//{Method = {System.Threading.Tasks.Task`1[System.Int32] <Main>b__0(Int32)}}
Task<int> first = function(5);
//Id = 4, Status = System.Threading.Tasks.TaskStatus.RanToCompletion, Method = "{null}", Result = "10"
Task<int> second = function(3);
//Id = 2, Status = System.Threading.Tasks.TaskStatus.RanToCompletion, Method = "{null}", Result = "6"
Console.WriteLine("First result: {0}", first.Result);
Console.WriteLine("Second result: {0}", second.Result);
}
}
<

本文介绍了C#中异步匿名函数的概念,它是Lambda表达式和异步功能的结合。通过在匿名函数前添加`async`修饰符,可以创建表示异步操作的委托。异步函数的委托返回类型需为`void`, `Task`或`Task<T>`。调用委托时会启动异步操作,每次调用都会创建新的独立操作。示例展示了异步操作的执行流程。"
114036059,5039305,理解与实践变异测试,"['测试工具', '单元测试', '代码覆盖率', '软件质量', '测试策略']

765

被折叠的 条评论
为什么被折叠?



