visual temperaturas temperatura programa parse para grados farenheit convertir conversion codigo centigrados c# f#

c# - parse - programa para convertir temperaturas



¿Qué puedo hacer para pasar una lista de C#a F#? (4)

Sé que la lista f # no es la misma en la lista c #. ¿Qué debo hacer para poder pasar una lista de entradas de la aplicación ac # a una biblioteca f #? Me gustaría poder utilizar la coincidencia de patrones en los datos una vez que estén en el código f #.


Puede hacer referencia a ensamblajes C # desde proyectos F #. Exponga su lista a través de un ensamblaje al que se hace referencia.


Puede pasar una secuencia de entradas: básicamente es cualquier cosa que admita IEnumerable<int> .


Así es como terminé haciéndolo.

El código de FSharp:

let rec FindMaxInList list = match list with | [x] -> x | h::t -> max h (FindMaxInList t) | [] -> failwith "empty list" let rec FindMax ( array : ResizeArray<int>) = let list = List.ofSeq(array) FindMaxInList list

El código c Sharp:

List<int> myInts = new List<int> { 5, 6, 7 }; int max = FSModule.FindMax(myInts);


Puedes usar

Seq.toList : IEnumerable<''a> -> list<''a>

para convertir cualquier IEnumerable<''a> seq en una lista F #. Tenga en cuenta que las listas F # son inmutables; si desea trabajar con la lista mutable, no necesita hacer nada especial, pero no podrá usar la coincidencia de patrones. O, más bien, puede definir patrones activos para System.Collections.Generic.List<''a> ; es solo una mala idea