2016-11-11 165 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的版本旁邊沒有'!'。 –

相關問題