是否有内置方法来转换.NET List<>进入F#清单?
答案 0 :(得分:45)
在Microsoft.FSharp.Collections
命名空间中尝试List.ofSeq
。
# List.ofSeq : seq<'T> -> 'T list
这不是专门用于System.Collections.Generic.List<T>
,而是针对IEnumerable<T>
(F#中的seq<'T>
)类型,因此它仍然有效。
(它也没有严格地嵌入到F#语言中,但C#或VB.NET中都没有List<T>
。这些都是各自标准库的一部分。)
答案 1 :(得分:9)
鉴于IEnumerable<T> foo
,您将执行以下操作(在C#中)以获取F#list<T>
:
var fsharpList = ListModule.OfSeq(foo);
ListModule
引用Microsoft.FSharp.Collections.ListModule
,在F#内部称为List
。