J'ai une boucle:Agrégation dans la boucle foreach
<% foreach (User usedBy in discountDto.UsedBy)
{ %>
<%=usedBy.FullName%><br />
<% } %>
qui produit souvent plusieurs lignes avec le même nom:
Bob Smith
Mark Thomas
Mark Thomas
Steve Jones
je voudrais regrouper les multiples lignes à une seule ligne suivie par un nombre entier représentant le nombre de fois que le nom a eu lieu:
Bob Smith
Mark Thomas (2)
Steve Jones
Non OP ici, mais intéressé par réponse. Je reçois une exception de transtypage invalide sur la ligne foreach. "Impossible de convertir un objet de type" Grouping [System.String, Nom_Solution.User] "pour taper" Nom_Solution.User "." Où vais-je mal? – jammus
Je crois que le GroupBy ne renverra pas un utilisateur, mais plutôt un IGrouping. Vous avez juste besoin de changer le foreach (Utilisateur Usedby dans discountDto.UsedBy.GroupBy (x => x.FullName)) à foreach (IGrouping Usedby dans discountDto.UsedBy.GroupBy (x => x. FullName)) –
Essayez de changer la ligne foreach à: 'foreach (var usedBy en discountDto.UsedBy.GroupBy (x => x.FullName))' – Charlino