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:
Listnumeros = 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.