Sdílet prostřednictvím


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

Danou funkci platí pro každý prvek seznamu a vrátí seznam tvořen výsledky pro každý prvek, kde vrátí funkce Some s nějakou hodnotu.

Cesta k oboru názvů nebo modul: Microsoft.FSharp.Collections.Seq

Sestavení: FSharp.Core (v FSharp.Core.dll)

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

// Usage:
Seq.choose chooser source

Parametry

  • chooser
    Type: 'T -> 'Uoption

    Funkce převodu položek typu t na možnosti typu U.

  • source
    Typ: SEQ.<'T>

    Vstupní posloupnosti typu T.

Výjimky

Výjimka

Podmínka

ArgumentNullException

Vyvolána při vstupní posloupnost je null.

Vrácená hodnota

Řada výsledků.

Poznámky

Vrácené sekvence může bezpečně předána mezi podprocesy.Však jednotlivé IEnumerator hodnoty generované ze sekvence vrácené neměli přístup souběžně.

Tato funkce se nazývá Choose v kompilovaný sestavení.Pokud přistupujete k funkci jazyka než F# nebo prostřednictvím reflexe, tento název použijte.

Příklad

Následující příklad kódu ukazuje použití Seq.choose lambda výraz, který používá porovnávání vrátit typ možnosti vybrat prvky ze sekvence.

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

Informace o verzi

F# základní verze knihovny

Podporovány: 2.0, 4.0, přenosné

Viz také

Referenční dokumentace

Collections.SEQ modul (F#)

Obor názvů Microsoft.FSharp.Collections (F#)