共用方式為


延遲運算 (F#)

「延遲計算」(Lazy Computation) 是不立即評估而是在實際需要結果時才會評估的計算。 這有助於提升程式碼的效能。

let identifier = lazy ( expression )

備註

在上述語法中,expression 是只在需要結果時才會評估的程式碼,而 identifier 則是儲存結果的值。 值的型別為 Lazy<'T>,其中 'T 所使用的實際型別是從運算式的結果決定。

延遲計算是只限於實際需要結果的狀況下才執行計算,可讓您改善效能。

若要強制執行計算,請呼叫 Force 方法。 Force 只會進行一次執行。 對 Force 的後續呼叫會傳回相同結果,但不會執行任何程式碼。

下列程式碼說明如何使用延遲計算以及如何使用 Force。 在這個程式碼中,result 的型別是 Lazy<int>,而 Force 方法會傳回 int。

let x = 10
let result = lazy (x + 10)
printfn "%d" (result.Force())

延遲評估 (而不是 Lazy 型別) 也可用於序列。 如需詳細資訊,請參閱序列 (F#)

請參閱

參考

LazyExtensions 模組

其他資源

F# 語言參考