Saltar al contenido
Portada » ¿Cómo manipular datos en C# usando LINQ?

¿Cómo manipular datos en C# usando LINQ?

LINQ (Language Integrated Query) es una poderosa característica de C# que permite realizar consultas sobre colecciones de datos de una manera más concisa y legible. En lugar de escribir largos bucles para filtrar, ordenar o transformar datos, puedes usar LINQ para hacerlo con una sintaxis declarativa similar a SQL. En este artículo, exploraremos cómo manipular datos en C# usando LINQ, con ejemplos fáciles de entender.

¿Qué es LINQ?

LINQ es una extensión del lenguaje C# que permite realizar consultas sobre diferentes tipos de datos como arrays, listas, XML, bases de datos, etc. LINQ es muy flexible y se puede usar con cualquier objeto que implemente las interfaces IEnumerable<T> o IQueryable<T>.

Filtrar datos usando LINQ

Uno de los usos más comunes de LINQ es filtrar datos. Por ejemplo, si tienes una lista de números y solo quieres obtener los que son mayores que 10, puedes hacerlo fácilmente con LINQ:


List<int> numeros = new List<int> { 5, 10, 15, 20, 25 };

var mayoresQueDiez = numeros.Where(n => n > 10);

foreach (var num in mayoresQueDiez)
{
    Console.WriteLine(num);
}

En este ejemplo, Where es un método LINQ que toma una función lambda como parámetro para filtrar los elementos que cumplen con la condición n > 10.

Ordenar datos usando LINQ

Además de filtrar, LINQ también te permite ordenar datos de manera sencilla. Por ejemplo, si quieres ordenar una lista de nombres alfabéticamente, puedes hacerlo así:


List<string> nombres = new List<string> { "Ana", "Luis", "Carlos", "Beatriz" };

var nombresOrdenados = nombres.OrderBy(n => n);

foreach (var nombre in nombresOrdenados)
{
    Console.WriteLine(nombre);
}

Aquí, el método OrderBy se usa para ordenar los nombres en orden ascendente. Si quisieras ordenar en orden descendente, podrías usar OrderByDescending.

Seleccionar datos usando LINQ

Otra operación común es proyectar o seleccionar datos específicos de una colección. Supongamos que tienes una lista de objetos y solo quieres seleccionar ciertas propiedades:


var personas = new List<Persona>
{
    new Persona { Nombre = "Ana", Edad = 28 },
    new Persona { Nombre = "Luis", Edad = 34 },
    new Persona { Nombre = "Carlos", Edad = 22 }
};

var nombres = personas.Select(p => p.Nombre);

foreach (var nombre in nombres)
{
    Console.WriteLine(nombre);
}

En este caso, Select se utiliza para proyectar solo los nombres de la lista de personas.

Conclusión

LINQ es una herramienta poderosa y versátil en C# que simplifica la manipulación de datos. Ya sea que necesites filtrar, ordenar o transformar datos, LINQ proporciona una sintaxis clara y concisa para hacerlo. Los ejemplos mostrados aquí son solo el comienzo; LINQ tiene muchas más capacidades que pueden ayudarte a escribir código más eficiente y legible.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *