Espressioni lazy

Le espressioni lazy sono espressioni che non vengono valutate immediatamente, ma vengono invece valutate quando è necessario il risultato. Ciò consente di migliorare le prestazioni del codice.

Sintassi

let identifier = lazy ( expression )

Osservazioni:

Nella sintassi precedente l'espressione è il codice valutato solo quando è necessario un risultato e l'identificatore è un valore che archivia il risultato. Il valore è di tipo Lazy<'T>, dove il tipo effettivo utilizzato per 'T viene determinato dal risultato dell'espressione.

Le espressioni differita consentono di migliorare le prestazioni limitando l'esecuzione di un'espressione solo a quelle situazioni in cui è necessario un risultato.

Per forzare l'esecuzione delle espressioni, chiamare il metodo Force. Force fa sì che l'esecuzione venga eseguita una sola volta. Le chiamate successive per Force restituire lo stesso risultato, ma non eseguono codice.

Il codice seguente illustra l'uso di espressioni lazy e l'uso di Force. In questo codice il tipo di result è e il Force metodo restituisce un oggetto intLazy<int>.

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

La valutazione differita, ma non il Lazy tipo, viene usata anche per le sequenze. Per altre informazioni, vedere Sequenze.

Vedi anche