LINQ to Objects (C#)
El término "LINQ to Objects" se refiere al uso de consultas LINQ con cualquier colección IEnumerable o IEnumerable<T> directamente, sin usar un proveedor o una API de LINQ intermedios como LINQ to SQL o LINQ to XML. Puede usar LINQ para consultar cualquier colección enumerable, como List<T>, Array o Dictionary<TKey,TValue>. La colección puede haberla definido el usuario, o bien puede que la haya devuelto una API de .NET.
Básicamente, LINQ to Objects representa un nuevo enfoque para las colecciones. En el sistema antiguo, tenía que escribir complejos bucles foreach que especificaban cómo recuperar los datos de una colección. En el enfoque de LINQ, se escribe código declarativo que describe qué se quiere recuperar.
Además, las consultas LINQ ofrecen tres ventajas principales respecto a los bucles foreach tradicionales:
Son más concisas y legibles, especialmente cuando se filtran varias condiciones.
Proporcionan funcionalidades eficaces para filtrar, ordenar y agrupar con un código de aplicación mínimo.
Se pueden migrar a otros orígenes de datos con muy poca o ninguna modificación.
Por lo general, cuanto más compleja es la operación que se quiere realizar en los datos, más ventajas se obtienen al usar LINQ en lugar de las técnicas de iteración tradicionales.
El propósito de esta sección es mostrar el enfoque de LINQ con algunos ejemplos seleccionados. No pretende ser exhaustiva.
En esta sección
LINQ y cadenas (C#)
Explica cómo se puede usar LINQ para consultar y transformar cadenas y colecciones de cadenas. También incluye vínculos a artículos que muestran estos principios.
LINQ y reflexión (C#)
Vincula a un ejemplo que muestra cómo usa LINQ la reflexión.
LINQ y directorios de archivos (C#)
Explica cómo se puede usar LINQ para interactuar con sistemas de archivos. También incluye vínculos a artículos que muestran estos conceptos.
Procedimiento para consultar un objeto ArrayList con LINQ (C#)
Muestra cómo consultar un objeto ArrayList en C#.
Procedimiento para agregar métodos personalizados para las consultas LINQ (C#)
Explica cómo extender el conjunto de métodos que puede usar para consultas LINQ agregando métodos de extensión a la interfaz IEnumerable<T>.
Language Integrated Query (LINQ) (C#)
Proporciona vínculos a artículos que explican LINQ e incluye ejemplos de código que realizan consultas.