F# 数组

17 Mar 2025 | 4 分钟阅读

数组是相同类型数据的可变集合。它从索引 0 开始,到 n-1 结束。这里,n 是数组的长度。 F# 数组支持 .Net Framework 的 System.Array 中可用的所有功能。

F# array

F# 数组类型

F# 主要提供 2 种类型的数组

  1. 一维数组
  2. 多维数组

F# 一维数组

您可以通过在 [| 和 |] 之间添加用分号 (;) 分隔的值来创建一个数组。

您还可以通过使用表达式序列来创建一个数组。以下示例创建一个整数数组,其值从 1 到 10。


F# 内置的创建数组的方法

System.Array 中有各种内置方法。 它有助于根据需要创建数组。 您可以使用这些方法在 F# 中创建数组。

方法描述
Array.empty 例如。 let arr = Array.empty它创建一个不包含元素的新数组。
Array.create 例如。 let arr = Array.create 10 2它创建一个指定大小的数组,并将所有元素设置为提供的值。
Array.init 例如。 let arr = Array.init 10 (fun index -> index)它使用给定的维度和一个生成元素的函数来创建一个数组。
Array.zeroCreate 例如。 let arr = Array.zeroCreate 10它创建一个数组,其中所有元素都初始化为零。

F# 一维数组示例

输出

1
2
3
4
5


F# 使用表达式序列的一维数组

输出

1
2
3
4
5
6
7
8
9
10

F# 使用 Array.create 方法创建数组并通过 For-In 循环遍历

F# Array.create 方法创建一个指定长度的数组,并使用指定的值设置整个数组。 您稍后可以使用 Array.set 方法(后跟索引和值)分配或设置新值。

输出

0
12
0
0
0

F# 将数组传递给函数:打印数组元素

输出

Printing array elements:
25
10
20
15
40
50
Printing array elements:
12
23
44
11
54

F# 将数组传递给函数:打印最小值

输出

Minimun element is: 10
Minimun element is: 11

F# 将数组传递给函数:打印最大值

输出

Maximum element is: 50
Maximum element is: 54

F# 多维数组

F# 允许我们创建多维数组。 多维数组也称为数组的数组。 它可以是二维的、三维的或更多维的。

在 F# 中,可以创建多维数组,但没有编写多维数组的语法。 F# 使用 array2D 运算符从数组元素的序列的序列创建二维数组。 序列可以是数组或列表。


F# 多维数组

在这里,我们使用 array2D 运算符创建一个 2D 数组。

输出

1 0
0 1

F# 打印数组矩阵而不使用循环

您可以通过在 printf 函数中使用 %A(一个格式说明符)来打印数组矩阵。

输出

[[1; 0]
 [0; 1]]
下一主题F# 序列