Partager via


Array.sortWith<'T>, fonction (F#)

Trie les éléments d'un tableau en appliquant l'ordre obtenu par la fonction de comparaison donnée et en retournant un nouveau tableau.

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

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

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

// Usage:
Array.sortWith comparer array

Paramètres

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

    Fonction permettant de comparer des paires d'éléments de tableau.

  • array
    Type : 'T []

    Tableau d'entrée.

Valeur de retour

Tableau trié.

Notes

Il ne s'agit pas d'un tri stable, ce qui signifie que l'ordre d'origine des éléments égaux risque de ne pas être conservé. Pour effectuer un tri stable, envisagez d'utiliser Seq.sort.

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

Exemple

Le code suivant montre l'utilisation de Array.sortWith.

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"

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.Array, module (F#)

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