Dans la programmation orientée objet, la situation de plusieurs objets partageant des attributs spécifiques est courante. Par exemple, la classe "Person" contient "ID" et la liste de voitures. Afin d'agréger clairement et efficacement une voiture associée à chaque ID unique, nous pouvons utiliser l'opérateur "GroupBy" de Linq.
L'opérateur GroupBY divise la séquence d'objets en un groupe plus petit en fonction de la valeur de la clé spécifiée. Dans notre catégorie "Person", nous pouvons utiliser la propriété "PersonID" comme clé des objets de groupe. Cela créera efficacement une structure similaire à un dictionnaire, où la clé est la seule valeur "personID", et la valeur est une liste de valeurs "voiture" associées à chaque "personID".
Exemple de code
Afin de regrouper l'objet "personne" et de récupérer la liste de voitures correspondante selon "PersonID", nous pouvons utiliser l'expression de requête Linq suivante:
ou, nous pouvons utiliser des expressions non de requête pour obtenir les mêmes résultats:
var results = from p in persons group p.car by p.PersonId into g select new { PersonId = g.Key, Cars = g.ToList() };
var results = persons.GroupBy( p => p.PersonId, p => p.car, (key, g) => new { PersonId = key, Cars = g.ToList() });
"PersonID": le seul identifiant d'une personne
"CARS": La liste de toute la voiture appartenant à la personne
Afin d'être cohérent avec l'accord de dénomination.
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!