Forum: PC-Programmierung C# und LINQ Anweisung


von Karl (Gast)


Lesenswert?

Hallo,

ich arbeite mit Visual Studio 2015 und mit Linq. Meine Frage ist: Wie 
kann ich eine Liste erst gruppieren und danach sortieren.

var query = XMLWDatenDataSet.Tables[0].AsEnumerable()
        .GroupBy(x => x.Field<string>("S-Nummer"))
        .OrderByDescending(x => x.ElementAt(0).Field<string>("Zahl"));

Nun gruppiert er alle Daten in der Liste nach "S-Nummer". In der Zeile 
bei OrderBy kann ich aber nur ein Element sortieren (was nicht viel Sinn 
macht).
Nach der gruppierung haben ich ja mehrere Listen die dann alle nach 
"Zahl" sortiert werden müssen.

Kann mir das mal jemand erklären?

Beitrag #5292342 wurde vom Autor gelöscht.
von Keiner N. (nichtgast)


Lesenswert?

Moin,

da wirst du nicht drumrum kommen, noch einmal separat drüber zu 
iterieren.
1
var query = XMLWDatenDataSet.Tables[0].AsEnumerable()
2
        .GroupBy(x => x.Field<string>("S-Nummer"));
3
4
foreach(var one in query){
5
    one.OrderByDescending(x => x.Field<string>("Zahl"))
6
}

von Basti (Gast)


Lesenswert?

Mit .SelectMany() kann man das seperate iterieren auch per Linq 
erledigen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.