Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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.
Formatting
Para expressões preguiçosas com várias linhas, coloque o parêntese de abertura na mesma linha da lazy palavra-chave, com o corpo da expressão recuado um nível:
let expensiveCalculation =
lazy (
let step1 = performStep1()
let step2 = performStep2 step1
step2 * 2
)
Para obter mais informações sobre como formatar expressões preguiçosas, consulte o guia de formatação F#.