-1
votes

Demande Linq sur la liste imbriquée

J'ai une liste de personnes et chaque personne contient une liste de livres. Comment écrire une requête LINQ qui retournera la personne avec le plus grand nombre de livres? XXX


1 commentaires

Qu'est-ce que tu as essayé jusque-là?


3 Réponses :


1
votes

Utilisez OrderbyDescendant Code> pour commander par le montant des livres, puis prenez la première personne de ce qui a été commandé enumérable:

var personWithMostBooks = people.OrderByDescending(x => x.Books.Count).FirstOrDefault();


0 commentaires

0
votes

Vous pouvez faire quelque chose comme: xxx


2 commentaires

Orderby renvoie une iEnumerable, qui n'a pas d'indexeur.


Oh, oups. Je vais résoudre ça.



1
votes

Une autre approche (qui est plus rapide sur gros collections : aucune mémoire et heure supplémentaires pour le tri) est agrégat : xxx


0 commentaires