Partager via


List.findIndex<'T>, fonction (F#)

Retourne l'index du premier élément de la liste qui répond au prédicat donné. En l'absence d'élément de ce type, lève KeyNotFoundException.

Espace de noms/Chemin du module : Microsoft.FSharp.Collections.List

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

// Signature:
List.findIndex : ('T -> bool) -> 'T list -> int

// Usage:
List.findIndex predicate list

Paramètres

  • predicate
    Type : 'T -> bool

    Fonction permettant de tester les éléments d'entrée.

  • list
    Type : 'T list

    Liste d'entrée.

Exceptions

Exception

Condition

ArgumentException

Levée si le prédicat a la valeur false pour tous les éléments de la liste.

Valeur de retour

Index du premier élément qui répond au prédicat.

Notes

Cette fonction se nomme FindIndex dans les assemblys compilés. Si vous accédez à la fonction à partir d'un langage .NET autre que F# ou par réflexion, utilisez ce nom.

Exemple

Le code suivant montre comment utiliser List.findIndex et compare le comportement à celui de List.find.

let list1 = [ 2 .. 100 ]
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 element = List.find (fun elem -> isPerfectSquare elem && isPerfectCube elem) list1
let index = List.findIndex (fun elem -> isPerfectSquare elem && isPerfectCube elem) list1
printfn "The first element that is both a square and a cube is %d and its index is %d." element index

Sortie

  

Plateformes

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

Informations de version

Versions de bibliothèque principale F#

Prise en charge dans : 2,0, 4,0, portables

Voir aussi

Référence

Collections.List, module (F#)

Microsoft.FSharp.Collections, espace de noms (F#)