Есть ли встроенный метод для преобразования .NET List < > в список F #?
Конвертировать .NET общий список в список F #
Ответ 1
Попробуйте List.ofSeq
в пространстве имен Microsoft.FSharp.Collections
.
# List.ofSeq : seq<'T> -> 'T list
Это не специально для System.Collections.Generic.List<T>
, но для типов IEnumerable<T>
(seq<'T>
in F #) в целом, поэтому он все равно должен работать.
(Он также не строго встроен в язык F #, но ни один из List<T>
не встроен в С# или VB.NET. Все это часть соответствующих стандартных библиотек.)
Ответ 2
Учитывая IEnumerable<T> foo
, вы должны сделать следующее (в С#), чтобы получить F # list<T>
:
var fsharpList = ListModule.OfSeq(foo);
ListModule
относится к Microsoft.FSharp.Collections.ListModule
и упоминается как List
из самого F #.