5
나는 LINQ를 사용하여 선언적으로 작성하고자하는이 간단한 루프를 사용합니다. 특히 함께 LINQ 및 async
/await
작품을 만들기에, 나는 붙어비동기 루프를 LINQ 쿼리로 변환
return FooSources.Where(...).FirstOrDefault();
:
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;
}
나는처럼 보이는 뭔가를 바랍니다.
비동기를 람다에서도 사용할 수 있습니다. –
resharper를 설치하면 람다 식 –
으로 변환 할 수 있습니다. @FabianBigler : 답안에서 어떻게 보이는지 보여주십시오. –