Ich habe die folgende Abfrage, wo ich SelectMany in einer Liste von Listen und dann GroupBy 'Name' und die 'Anzahl' der Listen und speichern Sie die Werte in ' Wert 'und' Anzahl '. auchCall SelectMany auf Liste der Artikel und Artikel aus der Liste als Parameter
var groups = originalList.SelectMany(fullList => fullList.ListOfItems, (fullList, details) => new { fullList.Name, fullList.ListOfItems })
.GroupBy(x => x.Name,
x => x.ListOfItems.Count())
.Select(g => new { Name = g.Key, Count = g.Count()});
//Do something with results
foreach (var item in groups)
{
var name = item.Name;
var count = item.Count;
}
Jetzt mag ich die tatsächliche LISTOFITEMS durch zu meiner letzten Gruppe passieren, wie ich, dass zugreifen möchte.
Deshalb möchte ich am Ende mit:
foreach (var item in groups)
{
var value = item.Name;
var count = item.Count;
var list = item.ListOfItems. <-- I want this also
}
Wie kann ich diese Abfrage ändern, dies zu tun?
Bitte geben Sie einige Beispieleingaben und erwartete Beispielausgaben. https://StackOverflow.com/Help/Mcve – mjwills
Warum können Sie '.ToList()' am Ende dieser Zeile 'nicht hinzufügen. Wählen Sie (g => new {Name = g.Key, Count = g.Count()}). ToList(); ' – MethodMan
Gegenwärtig zählt' Count' Punkte in jeder Gruppe und ignoriert das 'x. ListOfItems.Count() 'value. Hast du das vor? – dasblinkenlight