Partilhar via


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 intarquivo .

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.

Consulte também