F#list to C#IEnumerable:最有效的方法?

时间:2016-05-31 19:54:54

标签: c# .net list f# seq

我目前正在使用C#编写的GUI编写F#库,我想问一下将F#(通用)列表传递给C#代码(通用IEnumerable)的最佳或正确方法是什么。< / p>

到目前为止,我找到了三种方法:

[1; 2; 3; 4; 5;] |> List.toSeq

[1; 2; 3; 4; 5;] |> Seq.ofList 

[1; 2; 3; 4; 5;] :> seq<int>

请问这三种方法有什么实际区别吗?

1 个答案:

答案 0 :(得分:16)

如果您查看F#库源代码,您会发现它们都是相同的:

就可读性而言,我可能会使用Seq.ofListList.toSeq,特别是如果代码是更大的F#管道的一部分,因为它会使代码更好一些:

someInput
|> List.map (fun x -> whatever) 
|> List.toSeq