C # aggregiert Attribute in einer Liste

8

Ich habe ein Objekt wie unten gezeigt

%Vor%

In der obigen Aggregation der PgId -Werte gruppiert nach MsfId . Dasselbe gilt für DcId .

Zum Beispiel:

%Vor%

Wie schreibe ich eine LINQ-Abfrage, um dies zu aggregieren und eine Liste von SampleObjects wie unten zu erstellen?

%Vor%     
SteelBird82 01.06.2016, 07:40
quelle

4 Antworten

7

Versuchen Sie die Aggregation wie folgt:

%Vor%     
Maksim Simkin 01.06.2016 07:53
quelle
4

Szenario 1

%Vor%

Szenario 2

%Vor%

Szenario 1 Antwort

%Vor%

Szenario 2

%Vor%

Update: Siehe dotnetfiddle

    
Eldho 01.06.2016 08:02
quelle
3

Sie müssen die Elemente mit einer Abfrage gruppieren. Diese linq-Gruppierung erstellt eine Sammlung von Sammlungen (mit einem Schlüssel)

Ich habe gerade ein funktionierendes Beispiel gemacht:

%Vor%

Ergebnisse:

%Vor%     
J. van Langen 01.06.2016 08:04
quelle
2

Machen Sie alles mit einem GroupBy , das den geeignete Überlastung. Arbeitsgeige hier.

Beachten Sie die Verwendung von SelectMany zum Verketten der gruppierte Sammlungen in eins.

%Vor%

Wenn Sie Dubletten aus den Sammlungen entfernen möchten, sollten Sie Distinct() zB

%Vor%     
Jodrell 01.06.2016 08:07
quelle

Tags und Links