Асинхронная функция C# в LambdaC#

Место общения программистов C#
Anonymous
Асинхронная функция C# в Lambda

Сообщение Anonymous »

У меня довольно простое лямбда-выражение

Код: Выделить всё

var list = new List { 1,2,3,4 };

var filteredList = list.Where(x => FilterList(x)).ToList();

private bool FilterList(int x)
{
// Do something here
return true/false;
}
Теперь список фильтров изменен на асинхронный, поэтому я пытаюсь

Код: Выделить всё

var list = new List { 1,2,3,4 };

var filteredList = list.Where(async x => {
return await FilterList(x);
}).ToList();

private async Task FilterList(int x)
{
// Do something here
return true/false;
}
Это приводит к ошибке.
Невозможно преобразовать асинхронное лямбда-выражение в тип делегата «Func». Асинхронное лямбда-выражение может возвращать void, Task или Task, ни один из которых не может быть преобразован в Func.
Каков правильный синтаксис для асинхронной лямбда-выражения, например это?

Подробнее здесь: https://stackoverflow.com/questions/790 ... -in-lambda

Вернуться в «C#»