次の方法で共有


遅延式

遅延式 は、すぐに評価されるのではなく、結果が必要になったときに評価される式です。 これにより、コードのパフォーマンスを向上させることができます。

構文

let identifier = lazy ( expression )

注釈

前の構文では、 は結果が必要な場合にのみ評価されるコードであり、 識別子 は結果を格納する値です。 値の型は Lazy<'T> で、式の結果から 'T に使用される実際の型が決定されます。

遅延式を使用すると、式の実行を結果が必要な状況のみに制限することで、パフォーマンスを向上させることができます。

式を強制的に実行するには、メソッド Forceを呼び出します。 Force は、実行が 1 回だけ実行されるようにします。 Forceの後続の呼び出しでは同じ結果が返されますが、コードは実行されません。

次のコードは、遅延式の使用と Forceの使用を示しています。 このコードでは、 result の型が Lazy<int>され、 Force メソッドは intを返します。

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

遅延評価は、 Lazy 型ではなく、シーケンスにも使用されます。 詳細については、「 シーケンス」を参照してください。

こちらも参照ください