Udostępnij za pośrednictwem


SEQ.Choose < t, "U > Funkcja (F#)

Dotyczy dana funkcja każdego elementu listy i zwraca listę składają się z wyników dla każdego elementu, gdy funkcja zwraca Some z pewną wartość.

Ścieżka obszaru nazw/modułu: Microsoft.FSharp.Collections.Seq

Zgromadzenie: FSharp.Core (w FSharp.Core.dll)

// Signature:
Seq.choose : ('T -> 'U option) -> seq<'T> -> seq<'U>

// Usage:
Seq.choose chooser source

Parametry

  • chooser
    Type: 'T -> 'Uoption

    Funkcja przekształcania elementów typu t w opcji Typ U.

  • source
    Typ: seq<'T>

    Sekwencji wejściowych typu T.

Wyjątki

Wyjątek

Warunek

ArgumentNullException

Zgłoszony podczas sekwencji wejściowych jest null.

Wartość zwracana

Sekwencja wynik.

Uwagi

Sekwencja zwracane mogą być przekazywane między wątki bezpiecznie.Jednakże poszczególnych IEnumerator wygenerowany z sekwencji zwracane wartości nie jest dostępna jednocześnie.

Ta funkcja o nazwie Choose w skompilowane zestawy.Jeżeli języka, niż F# lub przez odbicie, uzyskują dostęp do funkcji, należy użyć tej nazwy.

Przykład

Poniższy kod demonstruje użycie Seq.choose wybierz elementy z sekwencji za pomocą wyrażenia lambda używający dopasowania wzorca zwraca typ opcji.

let numbers = seq {1..20}
let evens = Seq.choose(fun x -> 
                            match x with
                            | x when x%2=0 -> Some(x)
                            | _ -> None ) numbers
printfn "numbers = %A\n" numbers
printfn "evens = %A" evens
  

Platformy

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

Informacje o wersji

F# Core wersji biblioteki

Obsługiwane: 2.0, 4.0, przenośne

Zobacz też

Informacje

Moduł Collections.SEQ (F#)

Obszar nazw Microsoft.FSharp.Collections (F#)