Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Fuerza la ejecución de este valor y devuelve su resultado.Igual que Value.Se utiliza la exclusión mutua para evitar que otros subprocesos también calculen el valor.
Espacio de nombres/Ruta de acceso del módulo: Microsoft.FSharp.Control.LazyExtensions
Ensamblado: FSharp.Core (en FSharp.Core.dll)
// Signature:
type System.Lazy with
member Force : unit -> 'T
// Usage:
lazy.Force ()
Valor devuelto
Valor del objeto Lazy.
Ejemplo
En el ejemplo de código siguiente se muestra el uso del método de extensión Force.
let lazyFactorial n = Lazy.Create (fun () ->
let rec factorial n =
match n with
| 0 | 1 -> 1
| n -> n * factorial (n - 1)
factorial n)
let printLazy (lazyVal:Lazy<int>) =
if (lazyVal.IsValueCreated) then
printfn "Retrieving stored value: %d" (lazyVal.Value)
else
printfn "Computing value: %d" (lazyVal.Force())
let lazyVal1 = lazyFactorial 12
let lazyVal2 = lazyFactorial 10
lazyVal1.Force() |> ignore
printLazy lazyVal1
printLazy lazyVal2
El resultado indica que cuando se llama a Force para crear el valor de lazyVal1, el valor calculado se recupera al imprimir los valores.
Plataformas
Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2
Información de versiones
Versiones de la biblioteca básica de F#
Se admite en la versión: 2.0