C# 将.NET通用列表转换为F#列表

C# 将.NET通用列表转换为F#列表,c#,.net,f#,generic-list,C#,.net,F#,Generic List,是否有将.NET列表转换为F#List的内置方法?请在Microsoft.FSharp.Collections命名空间中尝试 # List.ofSeq : seq<'T> -> 'T list 一般来说,F#类型中的seq:seq#List.ofSeq:seq,所以它仍然可以工作 (它也不是严格地内置于F#语言中,但也不是内置于C#或VB.NET中的List。这些都是各自标准库的一部分。)给定IEnumerable foo,您可以执行以

是否有将.NET列表转换为F#List的内置方法?

请在
Microsoft.FSharp.Collections
命名空间中尝试

#                     List.ofSeq : seq<'T> -> 'T list
一般来说,F#类型中的seq:seq#List.ofSeq:seq,所以它仍然可以工作

(它也不是严格地内置于F#语言中,但也不是内置于C#或VB.NET中的
List。这些都是各自标准库的一部分。)

给定
IEnumerable foo
,您可以执行以下操作(在C#)来获得F#
List


ListModule
指的是
Microsoft.FSharp.Collections.ListModule
,在F#本身中称为
List

我还注意到,在2.0编译器类型推断中,右侧的列表在左侧显示为seq(或IEnumerable)。这些家伙相当聪明(+1)在F中没有ListModule这样的东西,没有具体说明问题是关于C还是F。这段代码是用C#编写的。F#中有一个
ListModule
。它只是在F#中被称为
list
,所以在F#中被称为
list.ofSeq
,在C#中被称为
ListModule.ofSeq
 var fsharpList = ListModule.OfSeq(foo);