LINQ en C#

LINQ (Language Integrated Query) es una característica poderosa de C# que permite realizar consultas sobre colecciones de datos de forma declarativa, similar a SQL. Proporciona un conjunto consistente de operadores para filtrar, ordenar, agrupar y transformar datos en memoria, mejorando la legibilidad y manteniendo el código limpio.

Ejemplo básico de LINQ

LINQ se puede usar con colecciones como arrays o listas. A continuación, se muestra un ejemplo usando la sintaxis de consultas:

List numeros = new List { 1, 2, 3, 4, 5, 6 };

var pares = from n in numeros
            where n % 2 == 0
            select n;

foreach (var p in pares) {
    Console.WriteLine(p);
}
// Salida: 2, 4, 6
    

La sintaxis de consulta facilita expresar filtros y selecciones de manera declarativa.

Uso de métodos de extensión LINQ

LINQ también se puede escribir con métodos de extensión (method syntax), ofreciendo un estilo encadenado muy popular.

var pares = numeros.Where(n => n % 2 == 0).ToList();

pares.ForEach(Console.WriteLine);
// Salida: 2, 4, 6
    

Esta forma es más compacta y permite encadenar múltiples operaciones como Select, OrderBy y GroupBy.

Otras operaciones comunes

LINQ soporta ordenar, agrupar y proyectar datos fácilmente:

var cuadrados = numeros.Select(n => n * n);

foreach (var c in cuadrados) {
    Console.WriteLine(c);
}
// Salida: 1, 4, 9, 16, 25, 36
    

Buenas Prácticas

Usa LINQ para simplificar operaciones sobre colecciones y mantener el código limpio. Evita usar LINQ en bucles internos críticos para rendimiento intensivo. Comenta consultas complejas para facilitar su comprensión. Prefiere métodos de extensión para transformaciones encadenadas.

Ver también

Documentación oficial de Microsoft

Ver más en Microsoft Docs