Brauchen Sie Hilfe in einer Gruppierung mit LINQ in C #

9

Ich habe diese zwei Klassen in meinem Code und eine Liste von Class2. Ich möchte die Listenelemente nach date und ID mit LINQ gruppieren.

%Vor%

Meine Liste ist ähnlich wie folgt:

%Vor%

Sorry, wenn das eine dumme Frage ist, aber ich bin ein Anfänger in C # -Programmierung und LINQ und ich bin mir nicht sicher, ob das überhaupt möglich ist.

Dies habe ich anhand von Beispielen versucht, die ich im Internet gesehen habe, aber es ist nicht korrekt

%Vor%

Da ich den Index 0 in der Gruppierung fest codiert habe, fehlen mir viele Elemente in meiner endgültigen Liste. Wie kann ich das für alle Elemente der Liste a in Class2 ?

tun?

Die erwartete Ausgabe ist ähnlich der folgenden:

%Vor%     
Anon 18.09.2017, 19:00
quelle

1 Antwort

3

Ihre Frage lautet:

  

Da ich den Index 0 in der Gruppierung fest codiert habe, fehlen mir viele Elemente in meiner endgültigen Liste. Wie kann ich dies für alle Elemente der Liste a in Class2 tun?

Da Sie alle Elemente aus den verschachtelten Auflistungen möchten, müssen Sie die verschachtelten Auflistungen vor dem Gruppieren reduzieren. Verwenden Sie in der Abfragesyntax ein anderes from :

%Vor%

Da jedes verschachtelte Objekt keine Eigenschaften p und q hat, aber Ihr Code den Zugriff auf die verschachtelten Elemente anzeigt, habe ich stattdessen y und z verwendet

Dies kann auch mithilfe der Methodensyntax erfolgen. Um die verschachtelten Sammlungen zu reduzieren, verwenden Sie SelectMany . Für die GroupBy können Sie die Überladung verwenden, die Sie angeben Schlüssel- und Elementauswahl. Allgemeine Idee dafür:

%Vor%

Obwohl es scheint, dass es nur für Fragezwecke ist, empfehle ich, aussagekräftige Namen für Eigenschaften und Variablen zu geben und zu sehen:

Gilad Green 18.09.2017, 19:13
quelle

Tags und Links