Maison >développement back-end >C++ >Comment LINQ peut-il améliorer le filtrage des collections en C# ?

Comment LINQ peut-il améliorer le filtrage des collections en C# ?

DDD
DDDoriginal
2025-01-04 05:56:38750parcourir

How Can LINQ Improve Collection Filtering in C#?

Filtrage des collections en C#

Lorsque vous travaillez avec des collections en C#, il est souvent nécessaire de filtrer des éléments spécifiques en fonction de certains critères. Bien que créer une nouvelle liste et parcourir la collection d'origine soit une approche courante, elle peut s'avérer inefficace, en particulier avec de grands ensembles de données.

Une solution plus efficace consiste à utiliser des expressions de requête intégrées au langage (LINQ), introduites dans C#3.0. LINQ fournit une syntaxe déclarative pour interroger les collections, vous permettant d'exprimer les critères de filtrage de manière concise.

Pour filtrer une collection à l'aide de LINQ, vous pouvez utiliser la méthode « Où ». Voici un exemple :

List<int> myList = GetListOfIntsFromSomewhere();

// Filter integers greater than 7
List<int> filteredList = myList.Where(x => x > 7).ToList();

La méthode "Where" renvoie un IEnumerable, vous devez donc appeler "ToList()" pour le reconvertir en List.

L'utilisation de LINQ offre plusieurs avantages par rapport au traditionnel approche :

  • Concision : Les expressions LINQ sont plus lisibles et concises que les boucles explicites.
  • Filtre en place : Le "Où" La méthode ne crée pas de liste temporaire mais filtre à la place la collection d'origine dans lieu.
  • Extensibilité : Les expressions LINQ peuvent être étendues à l'aide d'opérateurs de filtrage et de projection supplémentaires pour effectuer des requêtes complexes.

Par exemple, pour filtrer les entiers supérieurs à 7 puis les projeter sur une nouvelle liste de leurs carrés, vous pouvez utiliser l'expression suivante :

List<int> squaredList = myList.Where(x => x > 7).Select(x => x * x).ToList();

Globalement, LINQ fournit un moyen puissant et efficace de filtrer les collections en C#, ce qui en fait un outil précieux pour la manipulation des données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn