将.NET泛型列表转换为F#列表

时间:2010-06-23 20:14:04

标签: c# .net f# generic-list

是否有内置方法来转换.NET List<>进入F#清单?

2 个答案:

答案 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