我目前正在使用C#编写的GUI开发F#库,我想问一下将F#(通用)列表传递给C#代码(通用IEnumerable)的最佳或正确方法是什么。
到目前为止,我已经找到了三种方法:
[1; 2; 3; 4; 5;] |> List.toSeq
[1; 2; 3; 4; 5;] |> Seq.ofList
[1; 2; 3; 4; 5;] :> seq<int>
请问这三种方法之间有什么实际区别吗?
如果查看F#库源代码,就会发现它们都是相同的:
Seq.ofList
就像在“ list.fs”文件中List.ofSeq
看到的那样进行调用
List.toSeq
使用实现s :> seq<_>
,你可以看到这里的“seq.fs”文件
就可读性而言,我可能会使用Seq.ofList
或List.toSeq
,尤其是当代码是较大的F#管道的一部分时,因为这样会使代码更美观:
someInput
|> List.map (fun x -> whatever)
|> List.toSeq
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句