共用方式為


Array.sortWith<'T> 函式 (F#)

使用指定的比較函式做為順序並傳回新的陣列,以排序陣列的元素。

**命名空間/模組路徑:**Microsoft.FSharp.Collections.Array

組件:FSharp.Core (在 FSharp.Core.dll 中)

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

// Usage:
Array.sortWith comparer array

參數

  • comparer
    型別:'T -> 'T ->int

    函式,成對比較陣列元素。

  • array
    型別:'T[]

    輸入陣列。

傳回值

排序過的陣列。

備註

這不是穩定排序,也就是可能不會保留相等項目的原始順序。如需穩定的排序,請考慮使用 Seq.sort

這個函式在已編譯的組件中名為 SortWith。如果您是透過 F# 以外的語言,或是透過反映來存取函式,請使用這個名稱。

範例

下列程式碼顯示 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"

Output

  

平台

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

版本資訊

F# 核心程式庫版本

支援版本:2.0, 4.0,可攜式執行檔 (PE)。

請參閱

參考

Collections.Array 模組 (F#)

Microsoft.FSharp.Collections 命名空間 (F#)