共用方式為


延遲運算式

「延遲運算式」是不會立即評估,而是在需要結果時才會評估的運算式。 這有助於改善您程式碼的效能。

語法

let identifier = lazy ( expression )

備註

在先前的語法中,「運算式」是只有在需要結果時才會評估的程式碼,而「識別項」是儲存結果的值。 此值的類型為 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 類型) 也可用於序列。 如需詳細資訊,請參閱序列

另請參閱