Linq Grouper et Agréger des
Donné la liste suivante:
var data = new[]
{
new {category = "Product", text = "aaaa"},
new {category = "Product", text = "bbbb"},
new {category = "Product", text = "bbbb"},
};
comment puis-je groupe par catégorie et retourne un objet de la catégorie et une description des différents texte mis ensemble ??
ie. voudrais terminer yp avec:
{
categroy="Product"
description = "aaaa,bbbb,cccc"
}
essayé les Grouper et Agréger, mais quelque chose n'est pas droite
data.GroupBy(x => x.category).Select(g => new
{
category = g.Key,
description = g.Aggregate((s1, s2) => s1 + "," + s2)
});
TIA
OriginalL'auteur smolesen | 2013-04-03
Vous devez vous connecter pour publier un commentaire.
Pourquoi n'utilisez-vous pas
String.Join(IEnumerable)
méthode?Avec
Aggregate
vous devez effectuer les opérations suivantes:Premier paramètre définit la graine de la valeur de départ de
String.Empty
. Deuxième paramètre définit la méthode pour concaténer graine de valeur (string
) avec l'élément courant (anonymous_type
).OriginalL'auteur MarcinJuraszek
Vous 'r écrire, cette réponse n'a pas beaucoup s'améliorer, mais c'est une simple réponse pour la question d'origine (juste ajouter manquantes Sélectionnez la méthode), tandis que toutes les autres réponses changer de solution et de donner un correct mais peut-être compliqué de répondre.
Ce que les "autres réponses"? La seule autre réponse n'est pas compliquée du tout.
OriginalL'auteur Mohammad Hajinezhad