listas - metodo add en c#
F#list to C#IEnumerable: el método más eficiente? (1)
Actualmente estoy trabajando en una biblioteca F # con GUI escrita en C # y me gustaría preguntar cuál es la mejor forma o la más correcta para pasar una lista F # (genérica) a un código C # (IEnumerable genérico).
He encontrado tres formas hasta ahora:
[1; 2; 3; 4; 5;] |> List.toSeq
[1; 2; 3; 4; 5;] |> Seq.ofList
[1; 2; 3; 4; 5;] :> seq<int>
¿Hay alguna diferencia práctica entre estos tres métodos, por favor?
Si observa el código fuente de la biblioteca F #, descubrirá que todos son iguales:
Seq.ofList
simplemente llama aList.ofSeq
como se puede ver aquí en el archivo "list.fs"List.toSeq
se implementa utilizandos :> seq<_>
como se puede ver aquí en el archivo "seq.fs"
En términos de legibilidad, probablemente usaría Seq.ofList
o List.toSeq
, especialmente si el código es parte de una tubería F # grande, porque entonces hace que el código sea un poco más agradable:
someInput
|> List.map (fun x -> whatever)
|> List.toSeq