MSDN Library
Comprimi il sommario
Espandi il sommario
Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Calcoli differiti (F#)

I calcoli differiti sono calcoli che non vengono valutati nell'immediato, ma solo quando il risultato è necessario. In questo modo è possibile migliorare le prestazioni del codice.

let identifier = lazy ( expression )

Nella sintassi precedente expression rappresenta il codice valutato solo quando un risultato è necessario e identifier è un valore che consente di archiviare il risultato. Il valore è di tipo Lazy<'T>, in cui il tipo effettivo utilizzato per 'T viene determinato dal risultato dell'espressione.

I calcoli differiti consentono di migliorare le prestazioni limitando l'esecuzione di un calcolo alle sole situazioni in cui è necessario un risultato.

Per forzare l'esecuzione del calcolo, è necessario chiamare il metodo Force. Force consente di forzare una sola esecuzione. Le chiamate successive di Force restituiscono lo stesso risultato, ma non comportano l'esecuzione di codice.

Nel codice seguente viene illustrato l'utilizzo del calcolo differito e di Force. I questo codice il tipo di result è Lazy<int> e il metodo Force restituisce la parola chiave int.

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

La valutazione differita, ma non il tipo Lazy, viene utilizzata anche per le sequenze. Per ulteriori informazioni, vedere Sequenze (F#).

Aggiunte alla community

Mostra:
© 2016 Microsoft