ich folgende Daten als Liste haben:Linq alle Elemente auszuwählen, wo in der Liste mit groupby
raceId data position
1 A 0
1 B 0
1 F 1
1 J 0
2 A 2
2 F 1
3 A 0
3 J 2
3 M 1
3 V 3
Ich brauche die Gesamt (count) von Rennen zu bekommen, wo es alle passenden Buchstaben mit der gleichen raceid.
I.E eine Suche auf 'A' und 'J' = 2 (Rennen 1 und 3)
Außerdem muss ich die Positionsdaten für jeden bekommen.
raceId data position
1 A 0
1 J 0
3 A 0
3 J 2
Bisher habe ich den folgenden Code.
var dataValues = new string[] { 'A', 'J' };
var races = raceData
.GroupBy(ac => ac.raceId)
.Select(grp => grp.First())
.Where(t =>
dataValues
.All(s =>
dataValues
.Contains(t.data)
)
);
var racecount = races.count()
Das Problem ist, dass diese gibt alle raceId
Werte, wo es entweder Brief in den Daten vorhanden ist.
Sie brauchen keine 'Gruppe'. Nur 'raceValues.Where (record => dataValues.Contains (record.data));' – Fabio
Wie schreibt man 'raceData', damit wir Ihre Beispielumgebung nicht erstellen müssen. –