F#是否提供了连接的惯用方法
你也可以连接元组吗?
答案 0 :(得分:15)
序列和列表
这没有特殊功能。如果序列是第一个而列表是第二个,那么您必须选择将第一个转换为列表(然后在使用List.append
追加时复制它)或使用Seq.append
后跟{{1这将复制两个列表。
因此编写自己的函数是有意义的。
列出并列在一起列表? (非破坏性)
List.ofSeq
这样做。
列出并列出一个列表,如果它是破坏性的
列表是不可变的,因此没有破坏性附加。
可变阵列破坏性地一起进入另一个可变阵列?
在.NET中,您无法调整数组大小,因此没有破坏性的方法。 List.append
创建一个新数组(并且比其他选项更快,因为它事先知道结果的大小)。
你也可以连接元组吗?
没有。类型系统不允许您表示将附加元组的函数类型(它们必须具有静态已知大小)。
答案 1 :(得分:1)
@运算符是连接多个列表的简单整洁方式:
let allElements = list1 @ list2 @ list3 @ list4 @ list5 @ list6