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
Libérer: 2025-01-03 20:25:40
original
244 Les gens l'ont consulté

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);
Copier après la connexion

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() });
Copier après la connexion

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);
Copier après la connexion

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 });
Copier après la connexion

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal