Maison > développement back-end > C++ > Comment puis-je regrouper des objets de personne par PersonID et obtenir des modèles de voitures uniques en utilisant LINQ?

Comment puis-je regrouper des objets de personne par PersonID et obtenir des modèles de voitures uniques en utilisant LINQ?

Mary-Kate Olsen
Libérer: 2025-02-02 00:16:12
original
1042 Les gens l'ont consulté

How Can I Group Person Objects by PersonID and Get Unique Car Models Using LINQ?

Utilisez LINQ pour regrouper PersonID

Dans cet exemple, votre objectif est de regrouper la liste des objets de la personne en fonction de l'attribut PersonID et de récupérer la seule liste de modèles de voitures pour tout le monde. À cette fin, vous pouvez utiliser l'extension groupby fournie par LINQ.

La requête LINQ suivante montre comment regrouper le personID et extraire la liste des voitures associée à tout le monde:

var results = from p in persons
              group p.car by p.PersonId into g
              select new { PersonId = g.Key, Cars = g.Distinct().ToList() };
Copier après la connexion
<明> Explication:

<作> Créez tous les attributs de voiture en fonction de chaque valeur personnelle unique.
  • Le résultat du regroupement est la séquence d'objets anonymes. group p.car by p.PersonId Les méthodes garantissent que seul le seul modèle de voiture est renvoyé.
  • Distinct() ou, vous pouvez utiliser la recherche pour récupérer efficacement la liste de voitures de personID spécifique:

<法> Utilisation:

var carsByPersonId = persons.ToLookup(p => p.PersonId, p => p.car);
Copier après la connexion

S'il n'y a pas d'ID de personne désigné dans cette méthode, une séquence vide est renvoyée. Assurez-vous de retourner la seule liste de modèles de voitures.

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 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