Reputation: 1723
Remark: This is a self-documentation, but if you have any other suggestions, or if I made any mistakes/miss out something obvious, I would really appreciate your help.
Sources:
convert .NET generic List to F# list
What can I do to pass a list from C# to F#?
I am a beginner in F# and C#, and I want to convert a C# List to an F# List, and vice versa. The code/commands for doing so changes depending on where is your code (in C# or F#).
Please see my answer below. If you have any other suggestions, please let me know. Thank you.
Upvotes: 21
Views: 10115
Reputation: 1723
Inside a C# document, I can use ListModule.OfSeq
and .ToList()
, like this:
// Currently inside a C# document
var CS_list = new List<int> {1,2,3};
var FS_list = ListModule.OfSeq(CS_List); // Microsoft.FSharp.Collections.ListModule
var CS_converted_back = FS_List.ToList();
Inside an F# document, I can use Seq.toList
and ResizeArray<_>
, like this:
// Currently inside an F# document
let FS_list = [1;2;3]
let CS_list = ResizeArray<int> FS_list // System.Collections.Generic.List
let FS_converted_back = Seq.toList CS_list
If I made any mistakes, or if I miss out something obvious, please let me know.
Upvotes: 31