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 [] |
将提供的函数应用于数组的每个元素。 返回包含每个元素的结果 x 的数组,函数会为对应元素返回 Some(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 [] |
将某个元组数组拆分成两个数组的元组。 |
unzip3 : ('T1 * 'T2 * 'T3) [] -> 'T1 [] * 'T2 [] * 'T3 [] |
将三元组数组拆分成一个三数组元组。 |
zeroCreate : int -> 'T [] |
创建一个数组,其中的元素最初被设置为默认值 Unchecked.defaultof<'T>。 |
zip : 'T1 [] -> 'T2 [] -> ('T1 * 'T2) [] |
将两个数组合并为一个具有两个元素的元组数组。 两个数组的长度必须相同,否则将引发 ArgumentException。 |
zip3 : 'T1 [] -> 'T2 [] -> 'T3 [] -> ('T1 * 'T2 * 'T3) [] |
将三个数组合并为一个具有三个元素的元组数组。 三个数组的长度必须相同,否则将引发 ArgumentException。 |
平台
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#)