📅  最后修改于: 2021-01-01 05:09:43             🧑  作者: Mango
在F#中,序列是一系列相同类型的元素。它提供了比列表更好的性能。
当您有大量有序的数据收集但又不想使用所有元素时,此功能很有用。
句法:
seq{start .. end}
seq {start .. skip .. end}
您可以通过指定开始和结束索引来创建序列。您也可以通过在开始索引和结束索引之间添加skip元素来创建。让我们来看一个例子。
您可以创建如下的序列表达式。在这里,我们使用了Seq.iter()函数来迭代序列。我们还可以使用for循环或数组格式说明符来迭代序列元素。
let seq1 =
seq { 0 .. 10 }
Seq.iter(fun a->printf " %d" a)seq1
输出:
0 1 2 3 4 5 6 7 8 9 10
您还可以通过在开始索引和结束索引之间添加一个skip元素来创建序列。
let seqExample =
seq { 0 ..5.. 50 }
Seq.iter(fun a->printf " %d" a)seqExample
输出:
0 5 10 15 20 25 30 35 40 45 50
您还可以使用ofArray方法从数组创建序列。让我们来看一个例子。
let seq = [|1..10|] |> Seq.ofArray
Seq.iter(fun a->printf"%d " a) seq
输出:
1 2 3 4 5 6 7 8 9 10
您也可以使用ofList方法创建序列。
let seq = [1..10] |> Seq.ofList
Seq.iter(fun a->printf"%d " a)seq
输出:
1 2 3 4 5 6 7 8 9 10
在Sequence中,Seq.exists()方法搜索元素。如果找到的元素返回true,则返回true。让我们来看一个例子。
let sequenceSearch number seq =
Seq.exists (fun s->s=number)seq
let isExist = sequenceSearch 50 {1..10}
printf "%b" isExist
输出:
false
在Sequence中,Seq.sort()方法用于对序列中的元素进行排序。让我们来看一个例子。
let sequenceSort seq =
Seq.sort seq
let x = sequenceSort([2;5;8;3;4])
Seq.iter(fun a->printf"%d " a)x
输出:
2 3 4 5 8