eMk*_*Mko 10 .net c# f# list seq
我目前正在研究一个用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>
Run Code Online (Sandbox Code Playgroud)
请问这三种方法有什么实际区别吗?
Tom*_*cek 16
如果查看F#库源代码,您会发现它们都是相同的:
Seq.ofList只是调用List.ofSeq,你可以在"list.fs"文件中看到
List.toSeq使用s :> seq<_>正如您在"seq.fs"文件中看到的那样实现
在可读性方面,我可能会使用Seq.ofList或者List.toSeq,特别是如果代码是更大的F#管道的一部分,因为它使代码更好一些:
someInput
|> List.map (fun x -> whatever)
|> List.toSeq
Run Code Online (Sandbox Code Playgroud)