Is there a built-in method to convert the .NET List<> into the F# list?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
Try List.ofSeq
in the Microsoft.FSharp.Collections
namespace.
# List.ofSeq : seq<'T> -> 'T list
It's not specifically for System.Collections.Generic.List<T>
, but for IEnumerable<T>
(seq<'T>
in F#) types in general, so it should still work.
(It's also not strictly built into the F# language, but neither is List<T>
built into C# or VB.NET. Those are all part of the respective standard libraries.)
回答2:
Given IEnumerable<T> foo
you would do the following (in C#) to get an F# list<T>
:
var fsharpList = ListModule.OfSeq(foo);
ListModule
refers to Microsoft.FSharp.Collections.ListModule
, and is referred to as List
from within F# itself.