Maison > développement back-end > C++ > Comment puis-je compter et trier les doublons en fonction d'une propriété dans une liste C# à l'aide de LINQ ?

Comment puis-je compter et trier les doublons en fonction d'une propriété dans une liste C# à l'aide de LINQ ?

DDD
Libérer: 2025-01-05 08:56:10
original
977 Les gens l'ont consulté

How Can I Count and Sort Duplicates Based on a Property in a C# List Using LINQ?

Comptage des doublons en fonction de la propriété dans une liste d'objets avec LINQ

En programmation, rechercher des doublons dans une liste est un scénario courant. Cet article aborde le défi du comptage des doublons en fonction d'une propriété spécifique dans une liste d'objets à l'aide de LINQ (Language Integrated Query) en C#.

Supposons que vous ayez une liste d'objets avec une propriété ID, représentant une collection de articles. Votre objectif est de compter le nombre d'occurrences pour chaque ID unique et de trier les résultats par ordre décroissant par le nombre le plus élevé.

Pour y parvenir, vous pouvez tirer parti du puissant groupe par et tri par opérateurs de LINQ. Les étapes suivantes décrivent le processus :

  1. Regroupement par propriété : Utilisez l'opération « regrouper par » pour regrouper les objets de la liste en fonction de leur propriété ID. Cela crée des sous-groupes, où chaque groupe contient des objets avec le même ID.
  2. Comptage des doublons : Au sein de chaque groupe, calculez le nombre d'objets à l'aide de la méthode "Count".
  3. Tri par nombre : Ensuite, triez les groupes par nombre d'objets par ordre décroissant à l'aide de l'opérateur "orderby". Cela organise les groupes en fonction du plus grand nombre de doublons.
  4. Sélection des résultats : Enfin, sélectionnez les propriétés souhaitées dans chaque groupe, telles que le nombre, la propriété utilisée pour le regroupement et tout élément supplémentaire. informations nécessaires.

Implémentation du code :

Voici un exemple d'implémentation de code dans C# :

var query = list.GroupBy(x => x.ID)
    .Select(x => new {
        Count = x.Count(),
        CategoryID = x.Key,
        // Other properties as needed
    })
    .OrderByDescending(x => x.Count);
Copier après la connexion

Dans cet exemple, la « liste » représente la collection d'objets. La requête regroupe d'abord les objets par leur propriété « ID », puis compte les objets au sein de chaque groupe. Le type anonyme résultant inclut le nombre et le CategoryID (dans ce cas, l'ID du groupe). Enfin, les résultats sont classés par ordre décroissant en fonction du nombre.

Cette expression LINQ vous permet de compter et de trier sans effort les doublons en fonction d'une propriété spécifiée dans votre liste d'objets.

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