LINQ to Objects

Actualización: noviembre 2007

El término "LINQ to Objects" hace referencia al uso de consultas LINQ con cualquier colección IEnumerable o IEnumerable<T> directamente, sin utilizar ninguna API o proveedor LINQ intermedio, como LINQ to SQL o LINQ to XML. Puede utilizar LINQ para consultar cualquier colección enumerable, como List<T>, Array o Dictionary<TKey, TValue>. La colección puede estar definida por el usuario o ser devuelta por una API de .NET Framework.

Básicamente, LINQ to Objects representa una nueva forma de ver las colecciones. De la manera convencional, es necesario escribir bucles foreach complejos que especifican cómo recuperar los datos de una colección. Según LINQ, se escribe código declarativo que describe lo que se desea recuperar.

Además, las consultas LINQ ofrecen tres ventajas principales respecto a los bucles foreach tradicionales:

  1. Son más concisas y legibles, sobre todo al filtrar varias condiciones.

  2. Proporcionan funcionalidad eficaz de filtrado, ordenación y agrupación con código de aplicación mínimo.

  3. Se pueden trasladar a otros orígenes de datos con pocas o ningunas modificaciones.

En general, cuanto más compleja sea la operación que se deba realizar con los datos, observará un número mayor de ventajas al utilizar LINQ en lugar de las técnicas de iteración convencionales.

El propósito de esta sección es mostrar el planteamiento de LINQ con unos cuantos ejemplos específicos. No pretende ser exhaustiva.

En esta sección

  • Cómo: Consultar un objeto ArrayList con LINQ
    Muestra cómo consultar un objeto ArrayList en Visual Basic y C#.

  • LINQ y cadenas
    Explica cómo se puede usar LINQ para consultar y transformar cadenas y colecciones de cadenas. También incluye vínculos a temas que muestran estos principios.

  • LINQ y directorios de archivos
    Explica cómo se puede utilizar LINQ para interactuar con sistemas de archivos. También incluye vínculos a temas que muestran estos conceptos.

  • LINQ y Reflection
    Vínculo a un ejemplo que muestra la manera en que LINQ utiliza la reflexión.

  • Language-Integrated Query (LINQ)
    Proporciona vínculos a temas que explican LINQ y proporcionan ejemplos de código para realizar consultas.