Aracılığıyla paylaş


Gecikmeli İfadeler

Gecikmeli ifadeler, hemen değerlendirilmeyen ancak bunun yerine sonuç gerektiğinde değerlendirilen ifadelerdir. Bu, kodunuzun performansını geliştirmeye yardımcı olabilir.

Sözdizimi

let identifier = lazy ( expression )

Açıklamalar

Önceki söz diziminde ifade, yalnızca bir sonuç gerektiğinde değerlendirilen koddur ve tanımlayıcı sonucu depolayan bir değerdir. değeri, için kullanılan 'T gerçek türün ifadenin sonucundan belirlendiği türündedirLazy<'T>.

Gecikmeli ifadeler, bir ifadenin yürütülmesini yalnızca sonucun gerekli olduğu durumlarla kısıtlayarak performansı geliştirmenizi sağlar.

İfadeleri gerçekleştirilmeye zorlamak için yöntemini Forceçağırırsınız. Force yürütmenin yalnızca bir kez gerçekleştirilmesine neden olur. Aynı sonucu döndürmek için Force sonraki çağrılar, ancak herhangi bir kod yürütmeyin.

Aşağıdaki kodda gecikmeli ifadelerin kullanımı ve kullanımı gösterilmektedir Force. Bu kodda, türü result şeklindedir Lazy<int>ve Force yöntemi bir intdöndürür.

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

Gecikmeli değerlendirme ancak türü değil Lazy , diziler için de kullanılır. Daha fazla bilgi için bkz . Diziler.

Ayrıca bkz.