我有这个简单的循环,我想使用 LINQ 以声明方式编写。
async Task<Foo> GetFooAsync(string fooId, CancellationToken cancellationToken = default(CancellationToken))
{
foreach (var source in FooSources)
{
var result = await source.GetFooAsync(fooId, cancellationToken).ConfigureAwait(continueOnCapturedContext: false);
if (result != null)
{
return result;
}
}
return null;
}
我希望看起来像:
return FooSources.Where(...).FirstOrDefault();
我被困住了,尤其是在使 LINQ 和async
/await
一起工作方面。