2013-05-06 154 views

回答

4

答:

如果你想每次新的任務對象,Task.FromResult是最有效的 。其當前實現中的Task.Delay(0)將返回一個 緩存的任務,但這是一個實現細節。如果你想使用 緩存的任務,你應該自己緩存一個,例如private static readonly任務s_completedTask = Task.FromResult(true);然後使用 s_completedTask。

+0

Andrii時,通常的做法是,您能否給出鏈接以引用您Toub的陳述?谷歌不會返回任何結果搜索你的報價短語 – 2013-05-07 04:57:30

+0

我直接問他,並在這裏張貼答案,因爲我認爲這是重要的 – Andrii 2013-09-10 07:59:50

4

Task.FromResult將是最直接的。它還包括一些常見整數的內置結果等。但是,如果您的價值不是「顯而易見」的價值(並且不會內置處理),但很可能會在您的情況下經常返回 - 那麼您可以創建自己的緩存結果到一個字段中(如果合適的話可能是靜態的) - 但是緩存任務非常重要,而不是結果本身。否則每次都使用Task.FromResult。

相關問題