Ich versuche, eine Liste (wird auf diese Liste als Ergebnis beziehen) durch einen Wert in einer anderen Liste (Redeems).C# OrderByDescending auf Wert von Liste in einer anderen Liste
Die Ergebnisliste enthält die Redeems-Liste, und ich möchte das Ergebnis nach dem Feld "SumChosenJear" in der Liste "Einlösen" bestellen und Top 20 bekommen. Das habe ich erreicht, und theoretisch denke ich es sollte funktionieren.
result = result
.OrderByDescending(input => input.Redeems
.Select(input2 => input2.SumChosenYear)
.ToList())
.Take(20)
.ToList();
Allerdings gibt es eine Ausnahme mit der Aussage "Atleast ein Objekt implementieren IComparable". Warum passiert das?
'OrderByDescending' will' IComparable' (um Sie zu sortieren haben, vergleichen); Sie geben jedoch 'List' oder ähnliche '... zurück. Wählen Sie (input2 => input2.SumChosenYear) .ToList()'. Zwei 'List ' kann nicht standardmäßig verglichen werden (was ist größer '[1, 2, 3]' oder '[0, 4, 7]'?) –
Punkt genommen, das macht total Sinn. Wie würde ich es dann in diesem Feld bestellen? Das Feld "SumChosenYear" ist nur eine Dezimalzahl, also war ToListing ein Problem an meinem Ende. Wäre es eine Idee, ein Feld in der Liste "Einlösen" mit der Summe von SumChosenYear zu haben? – Jannik
Wie viele Zeilen sind im Variablenergebnis enthalten? Ich habe vor ein paar Wochen denselben Fehler bekommen und festgestellt, dass die Liste leer ist. – jdweng