Aracılığıyla paylaş


List.findIndex<'T> İşlevi (F#)

Verilen karşılaştırma belirtimini sağlayan listedeki ilk öğenin indeksini döner. Öyle bir öğe yoksa, KeyNotFoundException oluşturur.

Ad alanı/modül yol: Microsoft.FSharp.Collections.List

Derleme: FSharp.Core (FSharp.Core.dll),

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

// Usage:
List.findIndex predicate list

Parametreler

  • predicate
    Type: 'T ->bool

    Giriş öğelerini test etmek için kullanılan işlev.

  • list
    Type: 'Tlist

    Giriş listesi.

Özel Durumlar

Özel Durum

Koşul

ArgumentException

Karşılaştırma belirtemi listedeki bütün elemanlar için yanlış dönerse oluşturulur.

Dönüş Değeri

Karşılaştırma belirtemini karşılayan ilk öğenin indeksi.

Notlar

Bu işlev adlı FindIndex kodları derlenmiş derlemeleri. İşlev .net Dili dışındaki F# veya yansıtma üzerinden erişiyorsanız, bu adı kullanın.

Örnek

Aşağıdaki kod nasıl kullanılacağını gösterir List.findIndex ve kendi davranışlar karşılaştırır 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

Çıktı

  

Platformlar

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

Sürüm Bilgisi

F# Çekirdek Kitaplığı sürümleri

Desteklenen: 2.0, 4.0, Portable

Ayrıca bkz.

Başvuru

Collections.List Modülü (F#)

Microsoft.FSharp.Collections İsim Uzayı (F#)