Maison > développement back-end > C++ > Comment puis-je supprimer efficacement les doublons d'une liste générique en C #?

Comment puis-je supprimer efficacement les doublons d'une liste générique en C #?

DDD
Libérer: 2025-01-29 02:21:08
original
287 Les gens l'ont consulté

How Can I Efficiently Remove Duplicates from a Generic List in C#?

Élimination efficace du double des listes génériques C #

Ce guide démontre des techniques efficaces pour supprimer les entrées en double des listes génériques en C #. Nous explorerons deux méthodes principales:

Méthode 1: Méthode Distinct() Linq

Pour .NET Framework 3.0 et ultérieurement, la méthode Linq Distinct() offre une solution concise:

<code class="language-csharp">List<T> listWithDuplicates = LoadSomeData();
List<T> listWithoutDuplicates = listWithDuplicates.Distinct().ToList();</code>
Copier après la connexion

Distinct() génère une nouvelle liste ne contenant que des éléments uniques.

Méthode 2: Utilisation d'un HashSet

HashSet<T> fournit une approche plus efficace pour les ensembles de données plus grands:

<code class="language-csharp">List<T> listWithDuplicates = LoadSomeData();
HashSet<T> listWithoutDuplicates = new HashSet<T>(listWithDuplicates);</code>
Copier après la connexion

HashSet<T> stocke intrinsèquement des éléments uniques, éliminant les doublons pendant le processus de création. Cette méthode est généralement plus rapide que Distinct() pour les grandes listes.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal