Visual studio 如何将列表添加到一起#

Visual studio 如何将列表添加到一起#,visual-studio,f#,Visual Studio,F#,下面是我代码的一部分,我有许多房间叫做r#,并将它们放在各自行的列表中,但最后我试图将所有这些列表放在一起,形成一个包含所有房间的大列表。 我不是要列出单独的清单,而是列出所有房间的清单!第9行似乎是问题所在,似乎我使用了错误的cons运算符 let r58 = {id=58;item=pot2;n=0;e=0;s=51;w=0;complete=false} let r59 = {id=59;item=m13;n=60;e=0;s=55;w=0;complete=false} let row1

下面是我代码的一部分,我有许多房间叫做r#,并将它们放在各自行的列表中,但最后我试图将所有这些列表放在一起,形成一个包含所有房间的大列表。 我不是要列出单独的清单,而是列出所有房间的清单!第9行似乎是问题所在,似乎我使用了错误的cons运算符

let r58 = {id=58;item=pot2;n=0;e=0;s=51;w=0;complete=false}
let r59 = {id=59;item=m13;n=60;e=0;s=55;w=0;complete=false}
let row11 = [r58;r59]

let r60 = {id=60;item=m8;n=61;e=0;s=59;w=0;complete=false}
let r61 = {id=61;item=m9;n=0;e=0;s=60;w=0;complete=false}
let row12 = [r60;r61]

let roomlist = row1::row2::row3::row4::row5::row6::row7::row8::row9::row10::row11::row12

roomlist

要连接多个列表,请使用
List.concat

List.concat [row1; row2; row3; ... row12]

您可以使用
@
row11@row12@…
附加列表。如果您有多个列表,
List.concat
比使用
@
更好。
@
操作符一次处理两个列表,因此它将多次处理第一个列表
a@b@c@d
首先将
a
b
相加,然后将
ab
列表添加到
c
,然后将
abc
列表添加到
d
。由于F#list是一种链表结构,必须从头到尾进行迭代,这意味着
a
要迭代四次。另一方面,使用
List.concat
a
将只迭代一次。因此,
List.concat
对于多个列表更有效。如果我的答案对您有所帮助,您介意接受吗?您可以通过单击问题左侧的灰色复选标记图像来执行此操作。