Partage via


Expressions différées

Les expressions différées sont des expressions qui ne sont pas évaluées immédiatement, mais qui sont plutôt évaluées lorsque le résultat est nécessaire. Cela permet d’améliorer les performances de votre code.

Syntaxe

let identifier = lazy ( expression )

Notes

Dans la syntaxe précédente, l’expression est du code qui est évalué uniquement lorsqu’un résultat est requis, et l’identificateur est une valeur qui stocke le résultat. La valeur est de type Lazy<'T>, le type réel utilisé pour 'T étant déterminé à partir du résultat de l’expression.

Les expressions différées vous permettent d’améliorer les performances tout en limitant l’exécution d’une expression aux seules situations dans lesquelles un résultat est nécessaire.

Pour forcer l’exécution des expressions, appelez la méthode Force. Force fait en sorte que l’exécution est réalisée à une seule reprise. Les appels suivants pour Force renvoient le même résultat, mais n’exécutent aucun code.

Le code suivant illustre l’utilisation d’expressions différées et l’utilisation de Force. Dans ce code, le type de result est Lazy<int>, et la Force méthode renvoie une valeur int.

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

L’évaluation différée, mais pas le type Lazy, est également utilisée pour les séquences. Pour plus d’informations, consultez Séquences.

Voir aussi