Task 與 Linq 之間共用會發生的問題
Linq 本身具有延遲執行的 效果 也就是 yield 所以 在這上面用 Task 會感覺 Task 在最後才執行的理由是這個
,
解決方法是 宣告完後直接先ToArray()之類的就可以了
Linq Chain 在接到 Task 後的行為難以想像
如果follow Linq 這樣 iterator pattern 的目的 去思考的化 大多都不會有問題
Linq 最後return 的 IEnumerable<Task<T>>,Task<IEnumerable<T>> 與 IEnumerableAsync<T> 之間的關係
沒有關係 他們是完全不同的型別
IEnumerable<Task<T>> 是Task 的 列舉 但這不是 Task
Task<IEnumerable<T>> 是Task 回傳值是 列舉
IEnumerableAsync<T> 是 Task 而且是列舉(類似IQueryable)
Last updated