Maison >développement back-end >C++ >Comment puis-je compter et trier les objets en double par propriété ID à l'aide de LINQ ?

Comment puis-je compter et trier les objets en double par propriété ID à l'aide de LINQ ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-03 20:25:40271parcourir

How Can I Count and Sort Duplicate Objects by ID Property Using LINQ?

Comptage des doublons par propriété à l'aide de LINQ

Dans ce scénario, vous disposez d'une liste d'objets avec une propriété ID. L'objectif est de compter et de regrouper les objets en fonction de leurs identifiants et d'afficher les résultats de manière triée, avec l'objet avec le nombre le plus élevé en haut.

Regroupement par ID

LINQ propose l'opération « grouper par » pour regrouper les objets en fonction d'une propriété spécifiée. Dans votre cas, vous souhaitez regrouper par la propriété ID. Voici comment y parvenir :

var grouped = items.GroupBy(item => item.ID);

Après le regroupement, vous aurez une collection de groupes, où chaque groupe représente des objets avec le même ID.

Compter les éléments dans Groupes

Avec les groupes créés, vous pouvez utiliser la méthode 'Count()' pour compter le nombre d'objets dans chaque groupe. Le résultat est une collection de paires clé-valeur, où la clé est l'ID et la valeur est le nombre.

var counted = grouped.Select(group => new { ID = group.Key, Count = group.Count() });

Tri par nombre

Enfin , pour trier les résultats par ordre décroissant par nombre, vous pouvez utiliser la commande 'OrderByDescending()' méthode.

var sorted = counted.OrderByDescending(pair => pair.Count);

Combinaison des résultats dans une nouvelle liste

Pour afficher les résultats dans le format souhaité, vous devez créer une nouvelle liste d'objets contenant le ID, compte et nom du jeu. Vous pouvez utiliser une combinaison de propriétés et de projection pour y parvenir :

var results = sorted.Select(pair => new { ID = pair.ID, Count = pair.Count, GameName = items.First(item => item.ID == pair.ID).GameName });

Cela vous donnera une liste d'objets avec les propriétés requises.

En suivant ces étapes, vous pouvez compter les doublons en fonction de la propriété ID et triez les résultats par nombre à l'aide de LINQ.

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