Gruppe und Summe einer Liste<object[]>
Habe ich diese List<object[]>
List<object[]> olst = new List<object[]>();
olst.Add(new object[] { "AA1", 1 });
olst.Add(new object[] { "AA2", 1 });
olst.Add(new object[] { "AA2", 1 });
olst.Add(new object[] { "AA1", 1 });
olst.Add(new object[] { "AA1", 1 });
Vom olst
, die ich brauche um eine neue zu produzieren List<object>
zu halten:
"AA1", 3
"AA2", 2
In anderen Worten, ich brauche die Gruppe olst[x][0] und die Summe olst[x][1].
Ich könnte eine for-Schleife verwenden, aber ich hatte gehofft, jemand könnte mir helfen, lambda-Ausdrücken und/oder linq, dies zu erreichen.
- Möchten Sie vielleicht zu prüfen, mit
Tuple<string,int>
anstelle eines object-Arrays. Oder eine eigene Klasse schreiben, um die Verarbeitung dieser Werte. So haben Sie starke Typisierung und brauchen nicht zu tun, wirft.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden
GroupBy
undSelect
:Werden Sie die Liste in ein dictionary-Zuordnung aus dem ersten Wert und der Summe der zweiten Werte mit den gleichen ersten Wert.
Ich verpasste den Teil, der besagt das das Ergebnis sollte vom Typ
List<Object>
mitObject[]
. Es würde helfen, wenn die downvoters würden, lassen Sie einen Kommentar über das warum. 😉