Попался мне на глаза вот такой код. Как я понимаю, человек хочет использовать синхронную операцию в асинхронном методе (первый вопрос.. зачем если есть другие методы с асинхронной поддержкой, но ладно, возможно это не ошибка), поэтому он использует Task.FromResult. Но зачем использовать await? FromResult же должен использоваться как раз для того, чтобы избежать создания машины состояний, которая появляется при async/await. Не будет ли эта связка await+TaskResult очень тяжёлой по производительности и бесполезной в контексте данной задачи метода репозитория?
Код
public async Task> GetUsers(string id)
{
return await Task.FromResult(Users.Where(x => x.Id == id));
}