Collections.Array 模組 (F#)
提供陣列的基本操作。
**命名空間/模組路徑:**Microsoft.FSharp.Collections
組件:FSharp.Core (在 FSharp.Core.dll 中)
module Array
備註
如需 F# 陣列的概觀,請參閱陣列 (F#)。
值
值 |
描述 |
---|---|
append : 'T [] -> 'T [] -> 'T [] |
建立陣列,其中包含一個陣列的項目,後面接著另一個陣列的項目。 |
average : ^T [] -> ^T |
傳回陣列中各元素的平均值。 |
averageBy : ('T -> ^U) -> 'T [] -> ^U |
傳回各元素的平均值,這個平均值是透過將函式套用至陣列中的每個元素而產生。 |
blit : 'T [] -> int -> 'T [] -> int -> int -> unit |
讀取一個陣列中某個範圍的元素,然後將這些元素寫入另一個陣列。 |
choose : ('T ->'U option) -> 'T [] -> 'U [] |
將提供的函式套用至陣列的每一個元素。 傳回陣列,其中包含函式傳回 Some(x) 之每個項目的 x 結果。 |
collect : ('T -> 'U []) -> 'T [] -> 'U [] |
將所提供的函式套用至陣列的每個項目、串聯結果,然後傳回合併的陣列。 |
concat : seq<'T []> -> 'T [] |
建立陣列,這個陣列包含每個提供之陣列序列的項目。 |
copy : 'T -> 'T [] |
建立陣列,這個陣列包含所提供之陣列的項目。 |
create : int -> 'T -> 'T [] |
建立其中所有元素一開始都具有提供之值的陣列。 |
empty : 'T [] |
傳回所指定型別的空陣列。 |
exists : ('T -> bool) -> 'T [] -> bool |
測試陣列的任何元素是否滿足提供的述詞。 |
exists2 : ('T1 -> 'T2 -> bool) -> 'T1 [] -> 'T2 [] -> bool |
測試是否兩個提供的陣列的任何對應元素都滿足所提供的條件。 |
fill : 'T [] -> int -> int -> 'T -> unit |
使用提供的值,填入某個範圍的陣列項目。 |
filter : ('T -> bool) -> 'T [] -> 'T [] |
傳回集合,其中僅包含提供的陣列的項目,其提供的條件傳回 true。 |
find : ('T -> bool) -> 'T [] -> 'T |
傳回提供的函式會為其傳回 true 的第一個項目。 如果沒有這類項目,則引發 KeyNotFoundException。 |
findIndex : ('T -> bool) -> 'T [] -> int |
傳回陣列中第一個滿足所提供條件的項目的索引。 如果沒有任何元素滿足條件,則引發 KeyNotFoundException。 |
fold : ('State -> 'T -> 'State) -> 'State -> 'T [] -> 'State |
將函式套用至陣列的每一個元素,以透過計算建立累計值引數的執行緒。 如果輸入函數為 f 而且陣列元素為 i0...iN,這個函式會計算 f (...(f s i0)...) iN。 |
fold2 : ('State -> 'T1 -> 'T2 -> 'State) -> 'State -> 'T1 [] -> 'T2 [] -> 'State |
將函式套用至來自兩個陣列的元素組 (從左到右),並透過計算來建立累計值引數的執行緒。 這兩個輸入陣列的長度必須相同,否則會引發 ArgumentException。 |
foldBack : ('T -> 'State -> 'State) -> 'T [] -> 'State -> 'State |
將函式套用至陣列的每一個元素,以透過計算建立累計值引數的執行緒。 如果輸入函數為 f 而且陣列元素為 i0...iN,這個函式會計算 f i0 (...(f iN s))。 |
foldBack2 : ('T1 -> 'T2 -> 'State -> 'State) -> 'T1 [] -> 'T2 [] -> 'State -> 'State |
將函式套用至來自兩個陣列的元素組 (從右到左),並透過計算來建立累計值引數的執行緒。 這兩個輸入陣列的長度必須相同,否則會引發 ArgumentException。 |
forall : ('T -> bool) -> 'T [] -> bool |
測試陣列的所有項目是否都滿足所提供的條件。 |
forall2 : ('T1 -> 'T2 -> bool) -> 'T1 [] -> 'T2 [] -> bool |
測試是否兩個提供的陣列的所有對應元素都滿足所提供的條件。 |
get : 'T [] -> int -> 'T |
取得陣列中的項目。 |
init : int -> (int -> 'T) -> 'T [] |
使用提供的函式來建立所提供之維度的陣列。 |
isEmpty : 'T [] -> bool |
測試陣列是否包含任何項目。 |
iter : ('T -> unit) -> 'T [] -> unit |
將提供的函式套用至陣列的每一個元素。 |
iter2 : ('T1 -> 'T2 -> unit) -> 'T1 [] -> 'T2 [] -> unit) |
將提供的函式套用至兩個陣列中相符索引的項目組。 這兩個陣列的長度必須相同,否則會引發 ArgumentException。 |
iteri : (int -> 'T -> unit) -> 'T [] -> unit |
將提供的函式套用至陣列的每一個元素。 傳遞給函式的整數會指示項目的索引。 |
iteri2 : (int -> 'T1 -> 'T2 -> unit) -> 'T1 [] -> 'T2 [] -> unit |
將提供的函式套用兩個陣列中相符索引的項目組,並傳遞項目的索引。 這兩個陣列的長度必須相同,否則會引發 ArgumentException。 |
length : 'T [] -> int |
傳回陣列的長度。 Length 屬性也有相同的作用。 |
map : ('T -> 'U) -> 'T [] -> 'U [] |
建立陣列,其中的項目都是將提供的函式套用至提供之陣列中每個元素的結果。 |
map2 : ('T1 -> 'T2 -> 'U) -> 'T1 [] -> 'T2 [] -> 'U [] |
建立陣列,這個陣列的項目是將提供的函式套用至兩個提供的陣列的對應項目的結果。 這兩個輸入陣列的長度必須相同,否則會引發 ArgumentException。 |
mapi : (int -> 'T -> 'U) -> 'T [] -> 'U [] |
建立陣列,其中的項目都是將提供的函式套用至提供之陣列中每個元素的結果。 傳遞給這個函式的整數索引表示要進行轉換之項目的索引。 |
mapi2 : (int -> 'T1 -> 'T2 -> 'U) -> 'T1 [] -> 'T2 [] -> 'U [] |
建立陣列,這個集合的項目是將提供的函式套用至兩個集合互相對應項目的結果,同時也傳遞項目的索引。 這兩個輸入陣列的長度必須相同,否則會引發 ArgumentException。 |
max : 'T [] -> 'T |
傳回陣列所有項目的最大項目。 Operators.max用來比較元素。 |
maxBy : ('T -> 'U) -> 'T [] -> 'T |
透過函式結果上的 Operators.max 比較陣列中的所有元素之後,傳回最大的元素。 |
min : ('T [] -> 'T |
傳回陣列中所有項目的最小項目。 Operators.min用來比較元素。 |
minBy : ('T -> 'U) -> 'T [] -> 'T |
傳回陣列中所有項目的最小項目。 Operators.min用來比較元素。 |
ofList : 'T list -> 'T [] |
從提供的清單建立陣列。 |
ofSeq : seq<'T> -> 'T [] |
從所提供的可列舉物件建立陣列。 |
partition : ('T -> bool) -> 'T [] -> 'T [] * 'T [] |
將陣列分割為兩個陣列,其中一個包含提供條件傳回 true 的元素,另一個包含傳回 false 的元素。 |
permute : (int -> int) -> 'T [] -> 'T [] |
根據指定的排列排列陣列的項目。 |
pick : ('T -> 'U option) -> 'T [] -> 'U |
將提供的函式套用於提供的陣列的連續項目,傳回第一個結果,其中函式針對某些 x 傳回Some(x)。 如果函式從未傳回 Some(x),則會引發 KeyNotFoundException。 |
reduce : ('T -> 'T -> 'T) -> 'T [] -> 'T |
將函式套用至陣列的每一個元素,以透過計算建立累計值引數的執行緒。 如果輸入函數為 f 而且陣列元素為 i0...iN,這個函式會計算 f (...(f i0 i1)...) iN。 如果該陣列的大小為零,會引發 ArgumentException。 |
reduceBack : ('T -> 'T -> 'T) -> 'T [] -> 'T |
將函式套用至陣列的每一個元素,以透過計算建立累計值引數的執行緒。 如果輸入函數為 f 而且項目為 i0...iN,這個函式會計算 f i0 (...(f iN-1 iN))。 如果該陣列的大小為零,會引發 ArgumentException。 |
rev : 'T [] -> 'T [] |
將提供之陣列中的元素順序反向。 |
scan : ('State -> 'T -> 'State) -> 'State -> 'T [] -> 'State []) |
行為類似 fold,但會傳回中繼結果和最後結果。 |
scanBack : ('T -> 'State -> 'State) -> 'T [] -> 'State -> 'State [] |
行為類似 foldBack,但會傳回中繼結果和最後結果。 |
set : 'T [] -> int -> 'T -> unit |
設定陣列的元素。 |
sort : 'T[] -> 'T [] |
排列陣列的項目,並傳回新的陣列。 Operators.compare 是用於比較項目。 |
sortBy : ('T -> 'Key) -> 'T [] -> 'T [] |
透過使用提供的函式將元素轉換為排序運算所根據的類型,以排序陣列中的元素,並傳回新的陣列。 Operators.compare 是用於比較項目。 |
sortInPlace : 'T [] -> unit |
使用提供的比較函式就地變更陣列,以排序陣列的元素。 Operators.compare 是用於比較項目。 |
sortInPlaceBy : ('T -> 'Key) -> 'T [] -> unit |
使用提供的索引鍵投影就地變更陣列,以排序陣列的元素。 Operators.compare 是用於比較項目。 |
sortInPlaceWith : ('T -> 'T -> int) -> 'T [] -> unit |
使用提供的比較函式就地變更陣列,以排序陣列的元素。 |
sortWith : ('T -> 'T -> int) -> 'T [] -> 'T [] |
使用提供的比較函式排序陣列的元素,並傳回新的陣列。 |
sub : 'T [] -> int -> int -> 'T [] |
建立陣列,其中包含由起始索引和長度所指定的指定子範圍 |
sum : 'T [] -> ^T |
傳回陣列中元素的總和。 |
sumBy : ('T -> ^U) -> 'T [] -> ^U |
傳回結果的總和,這些結果是透過將函式套用至陣列的每個元素而產生。 |
toList : 'T [] -> 'T list |
將提供的陣列轉換為清單。 |
toSeq : 'T [] -> seq<'T> |
將提供的陣列當做序列檢視。 |
tryFind : ('T -> bool) -> 'T [] -> 'T option |
傳回提供的陣列中提供的函式會為其傳回 true 的第一個項目。 如果沒有此類項目存在,則傳回 None。 |
tryFindIndex : ('T -> bool) -> 'T [] -> int option |
傳回陣列中第一個滿足所提供條件的項目的索引。 |
tryPick : ('T -> 'U option) -> 'T [] -> 'U option |
將提供的函式套用於提供的陣列的連續項目,傳回第一個結果,其中函式針對某些 x 傳回Some(x)。 如果函式從未傳回 Some(x),則會傳回 None。 |
unzip : ('T1 * 'T2) [] -> 'T1 [] * 'T2 [] |
將 Tuple 組的陣列分割為兩個陣列的 Tuple。 |
unzip3 : ('T1 * 'T2 * 'T3) [] -> 'T1 [] * 'T2 [] * 'T3 [] |
將三個元素 Tuple 的陣列分割為三個陣列的 Tuple。 |
zeroCreate : int -> 'T [] |
建立陣列,這個陣列中的項目一開始是預設值Unchecked.defaultof <'T>。 |
zip : 'T1 [] -> 'T2 [] -> ('T1 * 'T2) [] |
將兩個陣列合併成一個各 Tuple 含有兩個元素的 Tuple 陣列。 這兩個陣列的長度必須相等,否則會引發 ArgumentException。 |
zip3 : 'T1 [] -> 'T2 [] -> 'T3 [] -> ('T1 * 'T2 * 'T3) [] |
將三個陣列合併成一個各 Tuple 含有三個元素的 Tuple 陣列。 這三個陣列的長度必須相等,否則會引發 ArgumentException。 |
平台
Windows 8 中, Windows 7, Windows Server 2012 上, Windows Server 2008 R2
版本資訊
F# 核心程式庫版本
支援版本:2.0, 4.0,可攜式執行檔 (PE)。
請參閱
參考
Microsoft.FSharp.Collections 命名空間 (F#)