c-0programacionprogramacion-funcional

Programación funcional en C#

En el artículo de hoy les mostraré como usar métodos funcionales que ya vienen con el lenguaje de programación C# para manipular listas.

La programación funcional es cada vez más popular y eso se ve reflejado en como varios de los lenguajes más populares del mundo han adoptado varios de sus conceptos y formas de trabajar.

En el artículo de hoy les mostraré como usar métodos funcionales que ya vienen con el lenguaje de programación C# para manipular listas, verán que hay muchas similitudes entre estos métodos y los métodos que nos podemos encontrar en javascript para la manipulación de arrays.

Comenzaremos con el método que nos permitira recorrer nuestras listas el método foreach():

    List<int> numbers = new List<int>();
        numbers.Add(1);
        numbers.Add(2);
        numbers.Add(3);
            
        numbers.ForEach(number => Console.Write(number));
        /**
        * Output : 123
        * */

Otra de las acciones más comunes que vamos a realizar sobre nuestras listas es filtrar los elementos de acuerdo a algún criterio y para eso tenemos el método Where()

List<int> numbers = new List<int>();
numbers.Add(1);
numbers.Add(2);
numbers.Add(3);
numbers.Add(4);
numbers.Add(5);

List<int> filteredNumbers = numbers.Where(number => number > 3).ToList();
filteredNumbers.ForEach(number => Console.WriteLine(number));

/**
* Output : 4
           5
*/

Lo que estamos haciendo es crear la lista y agregarle 5 numeros, después creamos una lista, y el valor de esta lista va a ser la lista anterior pero filtrada con sólo los numeros mayores a 3, y como el método Where() devuelve un objeto de tipo Inumerable utilizamos el método ToList() para volverlo una lista de nuevo.

Ahora vamos a encontrar un elemento de la lista con el método Find()

List<string> words = new List<string>();
words.Add("Alejandro");
words.Add("Ingrid");
words.Add("EDteam");

string education = words.Find(word => word.Contains("team"));
Console.Write(education);
/**
* Output : EDteam
* */

Y por último te mostrare un método para verificar si en una lista se cumple alguna condición dada, esto lo realizaremos con el metodo Exists():

List<string> words = new List<string>();
words.Add("Alejandro");
words.Add("Ingrid");
words.Add("EDteam");

Boolean trueValue = words.Exists(word => word.Contains("Ingrid"));
Boolean falseValue = words.Exists(word => word.Contains("Bolivia"));

Console.WriteLine(trueValue);
Console.WriteLine(falseValue);

/**
* Output : True
*          False 
* */

Este método lo que hace es recorrer la lista y verificar si existe aunque sea un solo elemento que cumpla la condición que se le indica, en este caso que exista alguna palabra que contenga Ingrid de ser asi devulve true y en caso contrario false.

Espero que te haya gustado este artículo, hasta la próxima.

Sigue leyendo