


Comment LINQ peut-il compter et résumer efficacement les objets en double dans une liste C# ?
Jan 03, 2025 am 02:25 AMComptage des doublons avec LINQ et C
Dans le domaine de la manipulation de données, il est souvent nécessaire d'agréger les données en fonction de certains critères. Une telle situation se présente lorsque vous devez compter les doublons dans une liste d'objets. LINQ (Language Integrated Query) offre une solution élégante pour cette tâche.
Problème : résumer les objets en double
Requête initiale :
var q = from x in inventory group x by x into g let count = g.Count() orderby count descending select new { Count = count, gameName = g.Key.gameName, gameID = g.Key.gameID };
Bien que cette requête fournisse un nombre et nom pour chaque doublon, il omet l'ID du jeu. Pour résoudre ce problème, nous devons modifier notre approche.
Solution : regroupement et sélection personnalisés
Regroupement par propriété d'objet :
var q = from x in inventory group x by x.gameName into g let count = g.Count() orderby count descending select new { Count = count, gameName = g.Key, gameID = g.First().gameID };
En regroupant les objets en fonction de leur nom de jeu propriété, nous regroupons efficacement les objets portant le même nom.
Sélection du premier objet ID :
gameID = g.First().gameID
Étant donné que les objets portant le même nom peuvent avoir des identifiants différents, nous utilisons First() pour récupérer l'ID du premier objet du groupe. Cela garantit que nous avons un identifiant pour chaque nom de jeu unique.
Exemple complet :
Encapsuler la logique ci-dessus dans un extrait de code complété :
var inventory = new List<game>(); // ... additional code for populating the inventory list var q = from x in inventory group x by x.gameName into g let count = g.Count() orderby count descending select new { Count = count, gameName = g.Key, gameID = g.First().gameID }; // ... additional code for displaying the results
Maintenant, la requête affichera correctement le nombre, le nom du jeu et l'ID du jeu pour chaque nom de jeu unique, classés par le plus grand nombre de doublons.
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!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

C Fonction Langue Format de lettre ÉTAPES DE CONVERSION DE CAS

Gulc: Cibliothèque C construite à partir de zéro

Quels sont les types de valeurs renvoyées par les fonctions du langage C? Qu'est-ce qui détermine la valeur de retour?

Quelles sont les définitions et les règles d'appel des fonctions du langage C et quelles sont les

Comment fonctionne la bibliothèque de modèle standard C (STL)?

Où est la valeur de retour de la fonction de langue C stockée en mémoire?

Utilisation distincte et partage de phrases

Comment utiliser efficacement les algorithmes du STL (trier, trouver, transformer, etc.)?
