Gibt es eine integrierte Methode zum Konvertieren der .NET-Liste <> in die F # -Liste?.NET generische Liste in F # -Liste konvertieren
28
A
Antwort
38
Versuchen Sie List.ofSeq
im Namespace Microsoft.FSharp.Collections
.
# List.ofSeq : seq<'T> -> 'T list
Es ist nicht speziell für System.Collections.Generic.List<T>
, aber für IEnumerable<T>
(seq<'T>
in F #) Arten im Allgemeinen, so sollte es immer noch funktionieren.
(Es ist auch grundsätzlich nicht in die F # Sprache gebaut, aber weder List<T>
in C# oder VB.NET gebaut. Das sind alle Teile der jeweiligen Standardbibliotheken.)
7
Da IEnumerable<T> foo
Sie tun würden, die folgende (
var fsharpList = ListModule.OfSeq(foo);
ListModule
bezieht sich auf Microsoft.FSharp.Collections.ListModule
, und wird als List
aus F # selbst: in C#) eine F # list<T>
zu erhalten.
Ich bemerkte auch mit dem 2.0 Compiler Typ Inferenz die Liste auf der rechten Seite zeigt sich als Seq (oder IEnumerable) auf der linken Seite. Ziemlich klug von diesen Typen (+1) –
BuddyJoe