在C#列表和F#列表之间转换

CH *_*Ben 6 c# f#

备注:这是一个自我记录,但如果你有任何其他建议,或者如果我犯了任何错误/错过了明显的东西,我将非常感谢你的帮助.

资料来源:

将.NET泛型列表转换为F#列表

如何将列表从C#传递给F#?

https://msdn.microsoft.com/en-us/library/4kf43ys3(v=vs.110).aspx?cs-save-lang=1&cs-lang=fsharp#code-snippet-1


我是F#和C#的初学者,我想将C#List转换为F#List,反之亦然.执行此操作的代码/命令会根据代码的位置(在C#或F#中)而更改.

请参阅下面的答案.如果您有任何其他建议,请告诉我.谢谢.

CH *_*Ben 12

在C#文档中,我可以使用ListModule.OfSeq.ToList(),像这样:

// 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();
Run Code Online (Sandbox Code Playgroud)

在F#文档中,我可以使用Seq.toListResizeArray<_>,像这样:

// 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
Run Code Online (Sandbox Code Playgroud)

如果我犯了任何错误,或者我错过了一些明显的错误,请告诉我.