J'ai une question sur IGrouping
et le Select()
méthode.
Disons que j'ai un IEnumerable<IGrouping<int, smth>>
de cette façon :
var groups = list.GroupBy(x => x.ID);
où list
est un List<smth>
.
Et maintenant je dois passer les valeurs de chaque IGrouping
à une autre liste d'une manière ou d'une autre :
foreach (var v in structure)
{
v.ListOfSmth = groups.Select(...); // <- ???
}
Quelqu'un peut-il suggérer comment obtenir les valeurs ( List<smth>
) d'un IGrouping<int, smth>
dans un tel contexte ?
0 votes
L'ID est généralement un champ d'identité qui doit être unique, ce qui rendrait le regroupement par ce champ inutile. Si vous essayez simplement de supprimer les données en double, essayez plutôt Distinct(). Si c'était list.GroupBy(x => x.SubID), il serait logique d'utiliser le regroupement, mais dans ce cas, vous voudriez probablement conserver le regroupement et foreach(var grp in groups){grp.ToList() ; } le ferait.