CsharpProgramación

Utilizar FindAll() en C#

Aprenda a usar la función de búsqueda masiva en C#

FindAll() es una función útil en C# que permite buscar y devolver todos los elementos que cumplen una condición específica en una colección. Esta función se puede utilizar para filtrar, ordenar y realizar operaciones de agregación en conjuntos grandes de datos.

1. Encontrar todos los elementos que cumplen una condición en una lista

using System.Collections.Generic;

List<int> numeros = new List<int>() { 1, 2, 3, 4, 5, 6, 7, 8, 9 };

// Encuentra todos los números pares en la lista
List<int> pares = numeros.FindAll(numero => numero % 2 == 0);

El código anterior crea una lista de enteros y luego utiliza FindAll() para encontrar todos los números pares en la lista. La función lambda (numero => numero % 2 == 0) se usa como predicado para determinar si un número es par o no.

2. Encontrar elementos únicos en una colección

List<string> palabras = new List<string>() { "hola", "mundo", "hola", "adiós", "hola" };

// Encuentra todas las palabras únicas en la lista
List<string> palabrasUnicas = palabras.FindAll(palabra => true);

En este ejemplo, se crea una lista de cadenas y luego se utiliza FindAll() para encontrar todas las palabras únicas en la lista. La función lambda (palabra => verdadero) se usa como predicado para incluir todos los elementos en el resultado.

3. Encontrar elementos que cumplen una condición específica

List<Persona> personas = new List<Persona>() { 
    nueva Persona("Juan", 25),
    nueva Persona("Pedro", 30),
    nueva Persona("Ana", 28)
};

// Encuentra todas las personas mayores de 25 años
List<Persona> mayoresDe25 = personas.FindAll(persona => persona.edad > 25);

En este ejemplo, se crea una lista de objetos Persona y luego se utiliza FindAll() para encontrar todas las personas mayores de 25 años en la lista. La función lambda (persona => persona.edad > 25) se usa como predicado para determinar si una persona es mayor de 25 o no.

4. Encontrar elementos que cumplen múltiples condiciones

List<Producto> productos = new List<Producto>() { 
    nueva Producto("Camisa", 10, 25),
    nueva Producto("Pantalón", 20, 30),
    nueva Producto("Zapatos", 5, 40)
};

// Encuentra todos los productos con un precio mayor a 30 y una cantidad menor a 10
List<Producto> productosEspeciales = productos.FindAll(producto => producto.precio > 30 && producto.cantidad < 10);

En este ejemplo, se crea una lista de objetos Producto y luego se utiliza FindAll() para encontrar todos los productos con un precio mayor a 30 y una cantidad menor a 10 en la lista. La función lambda (producto => producto.precio > 30 && producto.cantidad < 10) se usa como predicado para determinar si un producto cumple las condiciones o no.

5. Encontrar elementos que no cumplen una condición

List<int> numeros = new List<int>() { 1, 2, 3, 4, 5, 6, 7, 8, 9 };

// Encuentra todos los números impares en la lista
List<int> impares = numeros.FindAll(numero => numero % 2 != 0);

En este ejemplo, se crea una lista de enteros y luego se utiliza FindAll() para encontrar todos los números impares en la lista. La función lambda (numero => numero % 2 != 0) se usa como predicado para determinar si un número es impar o no.

6. Encontrar elementos que cumplen una condición específica en una subcolección

List<PersonaConDireccion> personas = new List<PersonaConDireccion>() { 
    nueva PersonaConDireccion("Juan", "Ciudad de México"),
    nueva PersonaConDireccion("Pedro", "Monterrey"),
    nueva PersonaConDireccion("Ana", "Guadalajara")
};

// Encuentra todas las personas que viven en la Ciudad de México
List<PersonaConDireccion> personasEnCiudadDeMexico = personas.FindAll(persona => persona.direccion == "Ciudad de México");

En este ejemplo, se crea una lista de objetos PersonaConDireccion y luego se utiliza FindAll() para encontrar todas las personas que viven en la Ciudad de México. La función lambda (persona => persona.direccion == «Ciudad de México») se usa como predicado para determinar si una persona vive en la Ciudad de México o no.

Conclusión

FindAll() es una herramienta valiosa en la caja de herramientas de un programador de C#. Al aprender a usarla correctamente, podrá optimizar su código y resolver problemas de manera más eficiente. Asegúrese de comprender las diferentes opciones y parámetros disponibles para adaptarla a sus necesidades específicas y aplique la función en sus proyectos futuros.

Deja una respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.