0

下面的代码有效。

Seq.iter (printfn "%d") [|1; 2; 3; 4; 5; 6; 7; 8; 9; 10|]

这是另一个例子。http://msdn.microsoft.com/en-us/library/ee340408.aspx

数组类型可以直接替换序列类型吗?

4

1 回答 1

5

这是有效的,因为数组被隐式转换为 a seq<'T>(发生这种转换的少数几个地方之一)。

但是,某些Seq函数并未针对数组进行优化,并且会比等效Array.x函数执行得慢。因此,您应该使用与输入匹配的模块(List.xfor Lists Array.xforArrays等)。此外,返回类型将不同 - 如果您Seq.map在数组上使用,Seq则返回 a 而不是Array可能具有性能影响的 a (例如,获取第 n 个元素对于数组来说要快得多)。

于 2013-06-03T03:01:21.900 回答