我正在尝试使用yield并从异步任务中返回将X转换为Y的结果。但是,在select上出现了错误。错误如下:
Error CS1942 选择子句中表达式的类型不正确。在调用“Select”时,类型推断失败。
public async Task<Result<dynamic>> GetYAsync(IEnumerable<X> infos)
{
return Task.WhenAll(from info in infos.ToArray() select async ()=>
{
yield return await new Y(info.Id, "Start");
});
}
yield
应该做什么。如果在方法中只有一个await
,那么return await
只会增加不必要的层次。 - Damien_The_UnbelieverY
似乎也是一种可等待的形式,因为您正在等待构造一个的结果。我真的不知道您在这里尝试做什么。 - Damien_The_Unbeliever