2016-11-11 105 views

回答

3

使用Task.FromResult()在完成状态下创建一个任务有结果了。

var l = new List<string>(); .... // l is pre-built 
var r = M1(x => Task.FromResult<IEnumerable<string>>(l)); 
+0

它与'async x => l'相比如何?这将会发出警告。 – ca9163d9

+0

它将做同样的逻辑为'异步X => l'但也可以用它没有警告,而不受幕后编译器生成的额外的代码。你看到警告你通常可以只使用'Task.FromResult 任何时间()'为对象返回来解决问题。 –

+0

[这是一个DotNetFiddle](https://dotnetfiddle.net/89Luwb)显示了这两个。看看带有FromResult的版本旁边没有'!'。 –

相关问题