Filtrar y seleccionar datos de productos con LINQ en C#
En esta lección vas a construir una cadena de consultas LINQ para filtrar, ordenar y extraer el nombre de los productos que cumplen una condición.
Introducción
Una consulta LINQ puede encadenar varios pasos, como el filtrado, la ordenación y la selección de datos (proyección), en un proceso continuo. Lo importante es que la consulta no modifica la lista original: solo produce un resultado nuevo.
Where conserva los productos con un precio de al menos 20, OrderBy los ordena por precio de menor a mayor y Select solo extrae su nombre. El resultado es Book, Bag, mientras que el arreglo products original sigue teniendo los tres productos.
Ejemplo de C# ejecutable
using System;
using System.Linq;
record Product(string Name, decimal Price);
class Program
{
static void Main()
{
var products = new[] { new Product("Book", 30), new Product("Pen", 5), new Product("Bag", 45) };
var names = products.Where(p => p.Price >= 20).OrderBy(p => p.Price).Select(p => p.Name);
Console.WriteLine(string.Join(", ", names));
}
}
Book, BagPractica con el depurador
Practica con un reto
Usa lo que cubre esta lección para resolver un problema real. Cada reto se ejecuta en el navegador, con pruebas al instante y una revisión de IA.
- Ordenar por una clave elegida Ordena a las personas por nombre o por edad con un comparador elegido en tiempo de ejecución, resolviendo los empates de forma consistente. Fácil
- Above-Average Values Keep the values that are greater than the average. Fácil