Sé que la lista f # no es la misma en la lista C#. ¿Qué debo hacer para poder pasar una lista de entradas desde una aplicación C# 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 #.¿Qué puedo hacer para pasar una lista de C# a F #?
7
A
Respuesta
3
Así es como terminé haciéndolo.
El código 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 de Sharp:
List<int> myInts = new List<int> { 5, 6, 7 };
int max = FSModule.FindMax(myInts);
0
Puede hacer referencia a ensamblajes C# desde proyectos F #. Exponga su lista a través de un ensamblaje al que se hace referencia.
8
Puede utilizar
Seq.toList : IEnumerable<'a> -> list<'a>
para convertir cualquier IEnumerable<'a>
seq
a 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 bien, puede definir patrones activos para System.Collections.Generic.List<'a>
; es solo una mala idea
1
Puede pasar una secuencia de entradas; básicamente es cualquier cosa que admita IEnumerable<int>
.
Cuestiones relacionadas
- 1. Recuperar elementos de una lista F # pasada a C#
- 2. ¿Cómo pasar una lista de objetos de C++ a C#?
- 3. Functor es para (a -> b) -> (f a -> f b), ¿qué es para (Categoría c) => c a b -> c (f a) (f b)?
- 4. ¿Cómo pasar una lista a ggplot2?
- 5. F # pasar un operador con argumentos a una función
- 6. ¿Puedo pasar una lista como parámetro a un asignador MyBatis?
- 7. ¿Por qué no puedo pasar argumentos con unidades a tipos F #?
- 8. ¿Puedo usar el operador de canalización en F # para pasar un argumento a un constructor?
- 9. ¿Cómo puedo pasar una referencia a una función, con parámetros?
- 10. F # Lista SelectMany
- 11. Pasar una lista a otro archivo jsp
- 12. Correo de PHP: ¿Qué hace -f hacer?
- 13. ¿Cómo puedo explotar una tupla para que se pueda pasar como una lista de parámetros?
- 14. F # lista de transformar a un árbol
- 15. ¿Sugerencias para pasar de C# a Java?
- 16. ¿Cómo puedo pasar un evento a una función en C#?
- 17. Pasar una lista genérica a una etiqueta JSP
- 18. ¿Cómo pasar una lista a una función en R?
- 19. ¿Qué significa el .f en 1000.f? C++
- 20. convertir lista genérica de .NET a la lista de F #
- 21. ¿Cuáles son los beneficios de usar C# frente a F # o F # frente a C#?
- 22. ¿Cómo puedo llamar a Enumerable.Join desde F #?
- 23. comprensión de lista en F #
- 24. ¿Qué puedo hacer con C# y Powershell?
- 25. C# - ¿Debería usar "ref" para pasar una colección (por ejemplo, Lista) por referencia a un método?
- 26. ¿Cómo puedo pasar una lista <Interface> sobre WCF?
- 27. C++ a F # traducción suave
- 28. Cómo pasar una lista <int> a una referencia de servicio (C#, VS2008)
- 29. Use LINQ y C# para hacer una nueva lista de una lista anterior
- 30. Pasar de C# a php
Sólo me preguntaba, pero ¿por qué no sería una persona que desee escribir algunos patrones activos que operan en las listas de C#? – Juliet