0
我有一个方法将lambda类型从int => IEnumerable <string>>转换为int =>任务<IEnumerable <string> >>?
string M1(Func<int x, Task<IEnumerable<string>>> getList)
// getList: int => Task<IEnumerable<string>>>
{ ...... }
如何使M1的参数在下面输入int => Task<IEnumerable<string>>>
。
var l = new List<string>(); .... // l is pre-built
var r = M1(x => l); // The type of param is int => IEnumerable<string>>
async x => l
会给出警告。
它与'async x => l'相比如何?这将会发出警告。 – ca9163d9
它将做同样的逻辑为'异步X => l'但也可以用它没有警告,而不受幕后编译器生成的额外的代码。你看到警告你通常可以只使用'Task.FromResult任何时间()'为对象返回来解决问题。 –
[这是一个DotNetFiddle](https://dotnetfiddle.net/89Luwb)显示了这两个。看看带有FromResult的版本旁边没有'!'。 –