LINQ to Objects (Visual Basic)LINQ to Objects (Visual Basic)

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.The term "LINQ to Objects" refers to the use of LINQ queries with any IEnumerable or IEnumerable<T> collection directly, without the use of an intermediate LINQ provider or API such as LINQ to SQL or LINQ to XML. Puede usar LINQ para consultar cualquier colección enumerable, como List<T>, Array o Dictionary<TKey,TValue>.You can use LINQ to query any enumerable collections such as List<T>, Array, or Dictionary<TKey,TValue>. La colección puede ser definida por el usuario o haber sido devuelta por una API de .NET Framework.The collection may be user-defined or may be returned by a .NET Framework API.

Básicamente, LINQ to Objects representa un nuevo enfoque para las colecciones.In a basic sense, LINQ to Objects represents a new approach to collections. En el sistema antiguo, tenía que escribir complejos bucles For Each que especificaban cómo recuperar los datos de una colección.In the old way, you had to write complex For Each loops that specified how to retrieve data from a collection. En el enfoque de LINQ, se escribe código declarativo que describe qué se quiere recuperar.In the LINQ approach, you write declarative code that describes what you want to retrieve.

Además, las consultas LINQ ofrecen tres ventajas principales respecto a los bucles For Each tradicionales:In addition, LINQ queries offer three main advantages over traditional For Each loops:

  1. Son más concisas y legibles, especialmente cuando se filtran varias condiciones.They are more concise and readable, especially when filtering multiple conditions.

  2. Proporcionan funcionalidades eficaces para filtrar, ordenar y agrupar con un código de aplicación mínimo.They provide powerful filtering, ordering, and grouping capabilities with a minimum of application code.

  3. Se pueden migrar a otros orígenes de datos con muy poca o ninguna modificación.They can be ported to other data sources with little or no modification.

Por lo general, cuanto más compleja sea la operación que quiere realizar en los datos, más ventajas obtendrá al usar LINQ en lugar de las técnicas de iteración tradicionales.In general, the more complex the operation you want to perform on the data, the more benefit you will realize by using LINQ instead of traditional iteration techniques.

El propósito de esta sección es mostrar el enfoque de LINQ con algunos ejemplos seleccionados.The purpose of this section is to demonstrate the LINQ approach with some select examples. No pretende ser exhaustiva.It is not intended to be exhaustive.

En esta secciónIn This Section

LINQ y cadenas (Visual Basic)LINQ and Strings (Visual Basic)
Explica cómo se puede usar LINQ para consultar y transformar cadenas y colecciones de cadenas.Explains how LINQ can be used to query and transform strings and collections of strings. También incluye vínculos a temas que muestran estos principios.Also includes links to topics that demonstrate these principles.

LINQ y reflexión (Visual Basic)LINQ and Reflection (Visual Basic)
Vincula a un ejemplo que muestra cómo usa LINQ la reflexión.Links to a sample that demonstrates how LINQ uses reflection.

LINQ y directorios de archivos (Visual Basic)LINQ and File Directories (Visual Basic)
Explica cómo se puede usar LINQ para interactuar con sistemas de archivos.Explains how LINQ can be used to interact with file systems. También incluye vínculos a temas que muestran estos conceptos.Also includes links to topics that demonstrate these concepts.

Cómo: Consultar un objeto ArrayList con LINQ (Visual Basic)How to: Query an ArrayList with LINQ (Visual Basic)
Muestra cómo consultar un objeto ArrayList en C#.Demonstrates how to query an ArrayList in C#.

Cómo: Agregar métodos personalizados para las consultas LINQ (Visual Basic)How to: Add Custom Methods for LINQ Queries (Visual Basic)
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>.Explains how to extend the set of methods that you can use for LINQ queries by adding extension methods to the IEnumerable<T> interface.

Language-Integrated Query (LINQ) (Visual Basic)Language-Integrated Query (LINQ) (Visual Basic)
Proporciona vínculos a temas que explican LINQ y que proporcionan ejemplos de código que realizan consultas.Provides links to topics that explain LINQ and provide examples of code that perform queries.