Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Faule Ausdrücke sind Ausdrücke, die nicht sofort ausgewertet werden, sondern stattdessen ausgewertet werden, wenn das Ergebnis benötigt wird. Dies kann dazu beitragen, die Leistung Ihres Codes zu verbessern.
Syntax
let identifier = lazy ( expression )
Bemerkungen
In der vorherigen Syntax ist Ausdruck Code, der nur ausgewertet wird, wenn ein Ergebnis erforderlich ist, und der Bezeichner ein Wert ist, der das Ergebnis speichert. Der Wert ist vom Typ Lazy<'T>, wobei der tatsächliche Typ, für den verwendet 'T wird, aus dem Ergebnis des Ausdrucks bestimmt wird.
Lazy expressions enable you to improve performance by restricting the execution of an expression to only those situations in which a result is needed.
Um zu erzwingen, dass die Ausdrücke ausgeführt werden, rufen Sie die Methode Forceauf.
Force bewirkt, dass die Ausführung nur einmal ausgeführt wird. Nachfolgende Aufrufe, um Force dasselbe Ergebnis zurückzugeben, aber keinen Code ausführen.
Der folgende Code veranschaulicht die Verwendung von faulen Ausdrücken und der Verwendung von Force. In diesem Code ist der Typ von result , Lazy<int>und die Force Methode gibt eine int.
let x = 10
let result = lazy (x + 10)
printfn "%d" (result.Force())
Lazy Evaluation, aber nicht der Lazy Typ, wird auch für Sequenzen verwendet. Weitere Informationen finden Sie unter Sequences.
Formatierung
Platzieren Sie bei mehrzeiligen faulen Ausdrücken die öffnende Klammer in derselben Zeile wie das lazy Schlüsselwort, wobei der Textkörper des Ausdrucks eine Ebene eingezogen hat:
let expensiveCalculation =
lazy (
let step1 = performStep1()
let step2 = performStep2 step1
step2 * 2
)
Weitere Informationen zum Formatieren von faulen Ausdrücken finden Sie im F#-Formatierungshandbuch.