Dictionary F#应为类型列表,但此处有类型[]

Dictionary F#应为类型列表,但此处有类型[],dictionary,asynchronous,f#,Dictionary,Asynchronous,F#,我正在通过以下方式运行我的数据: myData |> List.map(myAsyncMethod) |> Async.Parallel |> Async.RunSynchronously 我的数据是:MyDataType列表,这是我期望得到的,但我得到的是[](我以为是一个列表) 无论如何,我需要将[]类型转换回一个列表,或者修复我的函数以返回列表。。。或者交换我的数据类型以与[]兼容 任何答案都可以,我只需要它工作(尽可能高效)。Async.Parallel将创建一个数组

我正在通过以下方式运行我的数据:

myData |> List.map(myAsyncMethod) |> Async.Parallel |> Async.RunSynchronously
我的数据是:
MyDataType列表
,这是我期望得到的,但我得到的是
[]
(我以为是一个列表)

无论如何,我需要将[]类型转换回一个列表,或者修复我的函数以返回列表。。。或者交换我的数据类型以与[]兼容


任何答案都可以,我只需要它工作(尽可能高效)。

Async.Parallel
将创建一个数组输出

这是有意义的,因为您需要预先分配一些空间来返回结果,而这是列表无法做到的


您只需使用Array.toList将末尾的列表转换为异步。Parallel将创建一个数组输出

这是有意义的,因为您需要预先分配一些空间来返回结果,而这是列表无法做到的


您只需使用Array.toList转换为末尾的列表

myAsyncMethod的类型是什么
[]
是一个数组,这确实有点令人困惑,因为编写实际数组时使用了
[| |]
样式括号。这会有所帮助。F#需要更好的错误消息和VS支持。当我回到电脑前,我会试试的。Async方法只是对pazsed in中的值运行更新。是的,绝对如此。错误消息通常只不过是“错误,修复!”,而解释它们只是经验问题。
myAsyncMethod
的类型是什么
[]
是一个数组,这确实有点令人困惑,因为编写实际数组时使用了
[| |]
样式括号。这会有所帮助。F#需要更好的错误消息和VS支持。当我回到电脑前,我会试试的。Async方法只是对pazsed in中的值运行更新。是的,绝对如此。错误消息通常只不过是“错误,修复!”,而解释它们只是经验问题。谢谢,这很有效。只是将我的数据更改为使用数组而不是列表,因为我认为这样会比试图转换数据更快。谢谢,这很有效。只是将我的数据更改为使用数组而不是列表,因为我认为这样会比转换数据更快。