Freigeben über


Array.tryFind<'T>-Funktion (F#)

Gibt das erste Element zurück, für das die angegebene Funktion true zurückgibt.Wenn kein solches Element vorhanden ist, wird None zurückgegeben.

Namespace/Modulpfad: Microsoft.FSharp.Collections.Array

Assembly: FSharp.Core (in FSharp.Core.dll)

// Signature:
Array.tryFind : ('T -> bool) -> 'T [] -> 'T option

// Usage:
Array.tryFind predicate array

Parameter

  • predicate
    Typ: 'T ->bool

    Die Funktion zum Testen der Eingabeelemente.

  • array
    Typ: 'T[]

    Das Eingabearray.

Rückgabewert

Das erste Element, das das Prädikat erfüllt, oder None.

Hinweise

Der Name dieser Funktion in kompilierten Assemblys lautet TryFind.Verwenden Sie diesen Namen, wenn Sie in einer anderen .NET-Sprache als F# oder durch Reflektion auf die Funktion zugreifen.

Beispiel

Das folgende Beispiel veranschaulicht die Verwendung von Array.tryFind zum Suchen von Arrayelementen, die sowohl perfekte Cubes als auch perfekte Quadrate sind.

let delta = 1.0e-10
let isPerfectSquare (x:int) =
    let y = sqrt (float x)
    abs(y - round y) < delta
let isPerfectCube (x:int) =
    let y = System.Math.Pow(float x, 1.0/3.0)
    abs(y - round y) < delta
let lookForCubeAndSquare array1 =
    let result = Array.tryFind (fun elem -> isPerfectSquare elem && isPerfectCube elem) array1
    match result with
    | Some x -> printfn "Found an element: %d" x
    | None -> printfn "Failed to find a matching element."

lookForCubeAndSquare [| 1 .. 10 |]
lookForCubeAndSquare [| 100 .. 1000 |]
lookForCubeAndSquare [| 2 .. 50 |]
  

Plattformen

Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2

Versionsinformationen

F#-Kern-Bibliotheks-Versionen

Unterstützt in: 2,0, 4,0, portablen

Siehe auch

Referenz

Collections.Array-Modul (F#)

Microsoft.FSharp.Collections-Namespace (F#)