LINQ to Objects (C#)LINQ to Objects (C#)

« LINQ to Objects » fait référence à l’utilisation directe de requêtes LINQ avec n’importe quelle collection IEnumerable ou IEnumerable<T>, sans utiliser de fournisseur LINQ ou d’API intermédiaire comme LINQ to SQL ou 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. Vous pouvez utiliser LINQ pour interroger des collections énumérables telles que List<T>, Array ou Dictionary<TKey,TValue>.You can use LINQ to query any enumerable collections such as List<T>, Array, or Dictionary<TKey,TValue>. La collection peut être définie par l’utilisateur ou retournée par une API du .NET Framework.The collection may be user-defined or may be returned by a .NET Framework API.

Fondamentalement, LINQ to Objects représente une nouvelle approche des collections.In a basic sense, LINQ to Objects represents a new approach to collections. Auparavant, vous deviez écrire des boucles foreach complexes pour spécifier comment récupérer les données d'une collection.In the old way, you had to write complex foreach loops that specified how to retrieve data from a collection. Avec l’approche LINQ, vous écrivez du code déclaratif qui décrit ce que vous voulez récupérer.In the LINQ approach, you write declarative code that describes what you want to retrieve.

De plus, les requêtes LINQ offrent trois avantages principaux par rapport aux boucles foreach classiques :In addition, LINQ queries offer three main advantages over traditional foreach loops:

  1. Elles sont plus concises et lisibles, en particulier durant le filtrage de plusieurs conditions.They are more concise and readable, especially when filtering multiple conditions.

  2. Elles fournissent de puissantes fonctionnalités de filtrage, de classement et de regroupement avec un minimum de code d'application.They provide powerful filtering, ordering, and grouping capabilities with a minimum of application code.

  3. Elles peuvent être portées vers d'autres sources de données avec peu ou pas de changements.They can be ported to other data sources with little or no modification.

En général, plus l’opération que vous voulez effectuer sur les données est complexe, plus vous avez intérêt à utiliser LINQ à la place des techniques d’itération classiques.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.

Cette section a pour objectif de montrer l’approche basée sur LINQ avec quelques exemples sélectionnés.The purpose of this section is to demonstrate the LINQ approach with some select examples. Elle ne se veut pas exhaustive.It is not intended to be exhaustive.

Dans cette sectionIn This Section

LINQ et chaînes (C#)LINQ and Strings (C#)
Explique comment LINQ peut être utilisé pour interroger et transformer des chaînes et des collections de chaînes.Explains how LINQ can be used to query and transform strings and collections of strings. Inclut également des liens vers les rubriques qui présentent ces principes.Also includes links to topics that demonstrate these principles.

LINQ et la réflexion (C#)LINQ and Reflection (C#)
Contient un lien vers un exemple qui montre comment LINQ utilise la réflexion.Links to a sample that demonstrates how LINQ uses reflection.

LINQ et répertoires de fichiers (C#)LINQ and File Directories (C#)
Explique comment LINQ peut être utilisé pour interagir avec les systèmes de fichiers.Explains how LINQ can be used to interact with file systems. Inclut également des liens vers les rubriques qui présentent ces concepts.Also includes links to topics that demonstrate these concepts.

Guide pratique pour interroger un ArrayList avec LINQ (C#)How to: Query an ArrayList with LINQ (C#)
Montre comment interroger une ArrayList en C#.Demonstrates how to query an ArrayList in C#.

Guide pratique pour Ajouter des méthodes personnalisées pour des requêtes LINQ (C#)How to: Add Custom Methods for LINQ Queries (C#)
Explique comment étendre l'ensemble des méthodes utilisables pour les requêtes LINQ en ajoutant des méthodes d'extension à l'interface 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.

LINQ (Language-Integrated Query) (C#)Language-Integrated Query (LINQ) (C#)
Fournit des liens vers des rubriques qui présentent LINQ, ainsi que des exemples de code effectuant des requêtes.Provides links to topics that explain LINQ and provide examples of code that perform queries.