Freigeben über


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

Aktualisiert: August 2010

Sortiert die Elemente eines Arrays unter Verwendung der angegebenen Vergleichsfunktion als Reihenfolge und gibt ein neues Array zurück.

Namespace/Modulpfad: Microsoft.FSharp.Collections.Array

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

// Signature:
Array.sortWith : ('T -> 'T -> int) -> 'T [] -> 'T []

// Usage:
Array.sortWith comparer array

Parameter

  • comparer
    Typ: 'T -> 'T -> int

    Die Funktion, mit der Paare von Arrayelementen verglichen werden.

  • array
    Typ: 'T []

    Das Eingabearray.

Rückgabewert

Das sortierte Array.

Hinweise

Hierbei handelt es sich nicht um eine stabile Sortierung. Das heißt, die ursprüngliche Reihenfolge gleicher Elemente wird möglicherweise nicht beibehalten. Für eine stabile Sortierung sollten Sie Seq.sort in Erwägung ziehen.

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

Beispiel

Im folgenden Code wird die Verwendung von Array.sortWith veranschaulicht.

open System

let array1 = [| "<>"; "&"; "&&"; "&&&"; "<"; ">"; "|"; "||"; "|||" |]
printfn "Before sorting: "
array1 |> printfn "%A"
let sortFunction (string1:string) (string2:string) =
    if (string1.Length > string2.Length) then
       1
    else if (string1.Length < string2.Length) then
       -1
    else
        String.Compare(string1, string2)

Array.sortWith sortFunction array1
|> printfn "After sorting: \n%A"

Output

  

Plattformen

Windows 7, Windows Vista SP2, Windows XP SP3, Windows XP x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2

Versionsinformationen

F#-Runtime

Unterstützt in: 2.0, 4.0

Silverlight

Unterstützt in: 3

Siehe auch

Weitere Ressourcen

Collections.Array-Modul (F#)

Microsoft.FSharp.Collections-Namespace (F#)

Änderungsprotokoll

Datum

Versionsgeschichte

Grund

August 2010

Codebeispiel hinzugefügt.

Informationsergänzung.