CsharpProgramación

Uso de ForEach() en C#

Aprende a utilizar la función ForEach() para mejorar la eficiencia y legibilidad de tu código

La función ForEach() es un método comúnmente utilizado en el lenguaje de programación C# que permite iterar sobre una colección de objetos y realizar una acción específica en cada elemento. Esta función puede ser útil en situaciones donde se necesita procesar cada elemento individualmente, lo que facilita la lectura y la depuración del código.

1. Recorrer una lista y mostrar sus elementos en la consola

Para recorrer una lista y mostrar todos sus elementos en la consola, puedes utilizar ForEach() junto con un delegate que muestre cada elemento. Aquí hay un ejemplo:

List<string> lista = new List<string>() { "Hola", "Mundo", "ForEach()" };
lista.ForEach(elemento => Console.WriteLine(elemento));

2. Aplicar una función a todos los elementos de una lista

Si deseas aplicar una función a todos los elementos de una lista, puedes utilizar ForEach() junto con un delegate que contenga la función. Aquí hay un ejemplo:

List<int> numeros = new List<int>() { 1, 2, 3, 4, 5 };
numeros.ForEach(numero => numero *= 2);

3. Filtrar elementos de una lista que cumplen una condición

Para filtrar los elementos de una lista que cumplan una condición, puedes utilizar ForEach() junto con un delegate que verifique la condición. Aquí hay un ejemplo:

List<int> numeros = new List<int>() { 1, 2, 3, 4, 5 };
List<int> numerosPares = new List<int>();
numeros.ForEach(numero => numero % 2 == 0 ? numerosPares.Add(numero) : null);

4. Ordenar una lista en orden ascendente o descendente

Para ordenar una lista en orden ascendente o descendente, puedes utilizar ForEach() junto con un delegate que compare los elementos. Aquí hay un ejemplo de ordenación ascendente:

List<int> numeros = new List<int>() { 5, 2, 1, 4, 3 };
numeros.ForEach((first, index) => {
    for (int i = index + 1; i < numeros.Count; i++)
        if (first > numeros[i])
            throw new Exception("La lista ya está ordenada");
});

5. Contar los elementos que cumplen una condición en una lista

Para contar los elementos que cumplen una condición en una lista, puedes utilizar ForEach() junto con un delegate que verifique la condición y aumente un contador. Aquí hay un ejemplo:

List<int> numeros = new List<int>() { 1, 2, 3, 4, 5 };
int contadorPares = 0;
numeros.ForEach(numero => numero % 2 == 0 ? contadorPares++ : null);

6. Crear una copia de una lista con solo los elementos que cumplen una condición

Para crear una copia de una lista con solo los elementos que cumplen una condición, puedes utilizar ForEach() junto con un delegate que verifique la condición y agregue los elementos a una nueva lista. Aquí hay un ejemplo:

List<int> numeros = new List<int>() { 1, 2, 3, 4, 5 };
List<int> numerosPares = new List<int>();
numeros.ForEach(numero => numero % 2 == 0 ? numerosPares.Add(numero) : null);

7. Sumar todos los elementos de una lista

Para sumar todos los elementos de una lista, puedes utilizar ForEach() junto con un delegate que acumule la suma. Aquí hay un ejemplo:

List<int> numeros = new List<int>() { 1, 2, 3, 4, 5 };
int suma = 0;
numeros.ForEach(numero => suma += numero);

8. Reemplazar elementos de una lista que cumplen una condición con otros valores

Para reemplazar los elementos de una lista que cumplan una condición con otros valores, puedes utilizar ForEach() junto con un delegate que verifique la condición y asigne el nuevo valor. Aquí hay un ejemplo:

List<int> numeros = new List<int>() { 1, 2, 3, 4, 5 };
numeros.ForEach(numero => numero % 2 == 0 ? numero = 0 : null);

9. Ordenar una lista por un criterio específico

Para ordenar una lista por un criterio específico, puedes utilizar ForEach() junto con un delegate que compare los elementos según el criterio. Aquí hay un ejemplo de ordenación por valor decreciente:

List<int> numeros = new List<int>() { 5, 2, 1, 4, 3 };
numeros.ForEach((first, index) => {
    for (int i = index + 1; i < numeros.Count; i++)
        if (first < numeros[i])
            throw new Exception("La lista ya está ordenada");
});

Conclusión

La función ForEach() es una herramienta poderosa y versátil en C#. Al utilizar esta función en tus proyectos futuros, puedes mejorar la eficiencia de tu código y facilitar su mantenimiento. Asegúrate de entender su funcionamiento y aplicaciones para aprovechar al máximo sus beneficios.