共用方式為


Collections.Seq 模組 (F#)

可列舉序列的基本作業。

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

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

module Seq

備註

如需 F# 中函式的概觀,請參閱序列 (F#)

說明

append : seq<'T> -> seq<'T> -> seq<'T>

將兩個指定的列舉包裝成單一串連列舉。

average : seq<^T> -> ^T

傳回序列中每個項目的平均值。

averageBy : ('T -> ^U) -> seq<'T> -> ^U

傳回將函式套用至序列的每個項目後所產生的結果平均值。

cache : seq<'T> -> seq<'T>

傳回序列,這個序列對應至輸入序列的快取版本。

cast : IEnumerable -> seq<'T>

換行鬆散輸入 System.Collections順序為 具型別順序。

choose : ('T -> 'U option) -> seq<'T> -> seq<'U>

將指定的函式套用至清單的每一個項目。 傳回清單中的每個項目的結果所組成,此函式會傳回 Some

collect : ('T -> 'Collection) -> seq<'T> -> seq<'U>

將指定的函式套用至序列的每個項目,並串連所有結果。

compareWith : ('T -> 'T -> int) -> seq<'T> -> seq<'T> -> int

使用指定的比較函式,逐一比較兩個序列的每個項目。

concat : seq<'Collection> -> seq<'T>

將指定之列舉的列舉結合成單一串連的列舉。

countBy : ('T -> 'Key) -> seq<'T> -> seq<'Key * int>

將索引鍵產生函式套用至序列的每個項目,並傳回一個序列,這個序列包含唯一索引鍵和這些索引鍵在原始序列中出現的次數。

delay : (unit -> seq<'T>) -> seq<'T>

傳回序列,這個序列是從指定的延遲序列規格所建置。

distinct : seq<'T> -> seq<'T>

傳回序列,根據項目上的泛型雜湊和等式比較,這個序列不包含重複的項目。 如果一個項目在序列中出現數次,則之後出現的該項目都會遭捨棄。

distinctBy : ('T -> 'Key) -> seq<'T> -> seq<'T>

傳回序列,根據索引鍵 (由指定之索引鍵產生函式所傳回) 上的泛型雜湊和相等比較,這個序列不包含重複的項目。 如果一個項目在序列中出現數次,則之後出現的該項目都會遭捨棄。

empty : seq<'T>

建立空序列。

exists : ('T -> bool) -> seq<'T> -> bool

測試序列的任何項目是否滿足指定的述詞。

exists2 : ('T1 -> 'T2 -> bool) -> seq<'T1> -> seq<'T2> -> bool

測試輸入序列之所有對應的成對項目是否都滿足指定的述詞。

filter : ('T -> bool) -> seq<'T> -> seq<'T>

傳回新集合,其中僅包含原本集合中讓指定的述詞傳回 true 的集合項目。

find : ('T -> bool) -> seq<'T> -> 'T

傳回第一個指定之函式會傳回 true 的項目。

findIndex : ('T -> bool) -> seq<'T> -> int

傳回第一個讓所指定函式傳回 true 的項目的索引。

fold : ('State -> 'T -> 'State) -> 'State -> seq<'T> -> 'State

將函式套用至集合的每一個項目,以透過計算建立累計值引數的執行緒。 如果輸入的函式是 f和各個元素,是 i0...iN,然後這個函式會計算 f (... (f s i0)...) iN

forall : ('T -> bool) -> seq<'T> -> bool

測試序列的所有項目是否都滿足所指定的述詞。

forall2 : ('T1 -> 'T2 -> bool) -> seq<'T1> -> seq<'T2> -> bool

測試從兩個序列中取出的所有成對項目是否都滿足指定的述詞。 如果一個序列較另一個短,則較長序列中多的項目都會遭忽略。

groupBy : ('T -> 'Key) -> seq<'T> -> seq<'Key * seq<'T>>

將索引鍵產生函式套用至序列的每個項目,並產生唯一索引鍵的序列。 每個唯一索引鍵也會包含符合這個索引鍵之所有項目的序列。

head : seq<'T> -> 'T

傳回序列的第一個項目。

init : int -> (int -> 'T) -> seq<'T>

會產生新的序列的項目,逐一查看時傳回連續的項目,藉由呼叫指定的函數到給定的計數。 呼叫函式的結果並不會儲存、 重新也就是在函式套用必要時重新產生項目。 所產生之項目的索引會傳遞給這個函式。

initInfinite : (int -> 'T) -> seq<'T>

產生新的序列,如果反覆執行這個序列,即會呼叫指定的函式來傳回後續項目。 呼叫函式的結果並不會儲存,也就是在函式會重新套用視重新產生項目。 所產生之項目的索引會傳遞給這個函式。

isEmpty : seq<'T> -> bool

測試是否序列中有任何項目。

iter : ('T -> unit) -> seq<'T> -> unit

將指定的函式套用至集合的每一個項目。

iter2 : ('T1 -> 'T2 -> unit) -> seq<'T1> -> seq<'T2> -> unit

將指定的函式同時套用至兩個集合。 如果一個序列較另一個短,則較長序列中多的項目都會遭忽略。

iteri : (int -> 'T -> unit) -> seq<'T> -> unit

將指定的函式套用至集合的每一個項目。 傳遞給這個函式的整數表示項目的索引。

length : seq<'T> -> int

傳回序列的長度。

map : ('T -> 'U) -> seq<'T> -> seq<'U>

建立新的集合,其元素會將提供的函式套用至每個集合的元素的結果。 指定的函式都是透過在列舉程式 (擷取自物件) 上使用 MoveNext 方法要求下一個項目來進行套用。

map2 : ('T1 -> 'T2 -> 'U) -> seq<'T1> -> seq<'T2> -> seq<'U>

建立新的集合,其元素會將提供的函式套用至對應的組的項目,從兩個序列的結果。 如果一個輸入序列比另一個短,則會忽略較長序列中的其餘項目。

mapi : (int -> 'T -> 'U) -> seq<'T> -> seq<'U>

建立新的集合,其元素會將提供的函式套用至每個集合的元素的結果。 傳遞給這個函式的整數索引表示要進行轉換之項目的索引 (從 0 開始)。

max : seq<'T> -> 'T

傳回最大的使用 的 Operators.max 的比較序列的所有項目。

maxBy : ('T -> 'U) -> seq<'T> -> 'T

傳回最大的比較函式的結果上使用 的 Operators.max 序列的所有項目。

min : seq<'T> -> 'T

傳回最低的使用 的 Operators.min 的比較序列的所有項目。

minBy : ('T -> 'U) -> seq<'T> -> 'T

傳回最低的比較函式的結果上使用 的 Operators.min 序列的所有項目。

nth : int -> seq<'T> -> 'T

計算 第 n 個 元素集合中。

ofArray : 'T array -> seq<'T>

將指定的陣列做為序列檢視。

ofList : 'T list -> seq<'T>

將指定的清單做為序列檢視。

pairwise : seq<'T> -> seq<'T * 'T>

傳回序列,這個序列包含輸入序列中的每個項目和該項目的前一個項目,但唯獨第一個項目是例外,第一個項目只會做為第二個項目的前一個項目傳回。

pick : ('T -> 'U option) -> seq<'T> -> 'U

套用指定函式傳回第一個值,則函數會傳回其中一個 連續元素到 Some值

readonly : seq<'T> -> seq<'T>

建立新的順序物件,委派給特定的順序物件。 這可確保型別轉換無法重新探索和轉換原始的序列。 例如,如果指定陣列,則傳回的序列會傳回該陣列的元素,但您無法將傳回的序列物件轉換為陣列。

reduce : ('T -> 'T -> 'T) -> seq<'T> -> 'T

將函式套用至序列的每一個項目,以透過計算建立累計值引數的執行緒。 先從將函式套用至前兩個項目開始。 然後將這個結果與第三個項目一併輸入函式,依此類推。 傳回最終結果。

scan : ('State -> 'T -> 'State) -> 'State -> seq<'T> -> seq<'State>

Seq.fold 但會隨選的計算,並傳回中繼和最終結果的順序一樣。

singleton : 'T -> seq<'T>

傳回只產生一個項目的序列。

skip : int -> seq<'T> -> seq<'T>

傳回序列中略過指定的基礎序列的項目數目,然後產生序列的其餘的項目。

skipWhile : ('T -> bool) -> seq<'T> -> seq<'T>

傳回序列,如果重複執行,則這個序列會在指定的述詞傳回 true 時略過基礎序列的項目,然後產生序列的其餘項目。

sort : seq<'T> -> seq<'T>

產生依索引鍵排序的序列。

sortBy : ('T -> 'Key) -> seq<'T> -> seq<'T>

將索引鍵產生函式套用至序列的每個項目,並產生依索引鍵排序的序列。 的 Operators.compare 所實作的方式,使用一般的比較,被比較索引鍵。

sum : seq<^T> -> ^T

傳回序列中的項目總和。

sumBy

傳回將函式套用至序列的每個項目所產生之結果的總和。

take : int -> seq<'T> -> seq<'T>

傳回第一個項目,一直到指定的次數序列。

takeWhile : ('T -> bool) -> seq<'T> -> seq<'T>

傳回序列,若反覆執行此序列,則當指定的述詞傳回 true 時,此序列會產生基礎序列的項目,然後不會傳回其他項目。

toArray : seq<'T> -> 'T []

從指定集合中建立陣列。

toList : seq<'T> -> 'T list

從指定集合中建立清單。

truncate : int -> seq<'T> -> seq<'T>

傳回序列時列舉傳回沒有其他比指定的項目數。

tryFind : ('T -> bool) -> seq<'T> -> 'T option

傳回第一個項目,為其提供的函式會傳回 true,或 None如果沒有這類項目存在

tryFindIndex : ('T -> bool) -> seq<'T> -> int option

傳回序列中符合指定的述詞或 中的第一個項目的索引 None如果沒有這類項目存在

tryPick : ('T -> 'U option) -> seq<'T> -> 'U option

套用指定函式傳回第一個值,則函數會傳回其中一個 連續元素到 Some值

unfold : ('State -> 'T * 'State option) -> 'State -> seq<'T>

傳回序列,這個序列包含指定的計算所產生的項目。

windowed : int -> seq<'T> -> seq<'T []>

傳回序列,這個序列會為從輸入序列取出的包含項目產生滑動視窗。 每個傳回的視窗都是最新的陣列。

zip : seq<'T1> -> seq<'T2> -> seq<'T1 * 'T2>

將兩個序列合併成一份配對清單。 這兩個序列的長度不必相等:當其中一個序列已用盡時,會忽略另一個序列中的剩餘項目。

zip3 : seq<'T1> -> seq<'T2> -> seq<'T3> -> seq<'T1 * 'T2 * 'T3>

將三個序列合併為三重清單。 序列的長度不一定要一樣長:在用完其中一個序列時,會忽略其他序列中的任何其餘項目。

平台

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

版本資訊

F# 執行階段

支援版本:2.0、4.0

Silverlight

支援版本:3

請參閱

參考

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

序列 (F#)

Collections.seq<'T> 型別縮寫 (F#)