Expressões preguiçosas
Expressões preguiçosas são expressões que não são avaliadas imediatamente, mas são avaliadas quando o resultado é necessário. Isso pode ajudar a melhorar o desempenho do seu código.
Sintaxe
let identifier = lazy ( expression )
Observações
Na sintaxe anterior, expressão é um código que é avaliado somente quando um resultado é necessário, e identificador é um valor que armazena o resultado. O valor é do tipo Lazy<'T>
, onde o tipo real para o qual é usado 'T
é determinado a partir do resultado da expressão.
As expressões preguiçosas permitem melhorar o desempenho restringindo a execução de uma expressão apenas às situações em que um resultado é necessário.
Para forçar as expressões a serem executadas, chame o método Force
. Force
faz com que a execução seja realizada apenas uma vez. Chamadas subsequentes para Force
retornar o mesmo resultado, mas não executar nenhum código.
O código a seguir ilustra o uso de expressões preguiçosas e o uso de Force
. Nesse código, o tipo de result
é Lazy<int>
, e o Force
método retorna um int
arquivo .
let x = 10
let result = lazy (x + 10)
printfn "%d" (result.Force())
A avaliação preguiçosa, mas não o Lazy
tipo, também é usada para sequências. Para obter mais informações, consulte Sequências.