Я использую Linq и имеют следующий код C#:OrderByDescending не работает должным образом в Linq
leaves = GetAnnualLeaves();
otherleaves = GetOtherLeaves();
leaves.AddRange(otherleaves);
leaves.OrderByDescending(e => e.StartDate);
В основном я пытаюсь отобразить список ежегодных и других листьев, и я хочу, чтобы отобразить их в убывающем порядке. Проблема заключается в том, что в конце «Ежегодных листьев» всегда есть «Другие листья», несмотря ни на что. Так что в основном это показывает, как это:
2013-06-29 Annual
2012-01-01 Annual
2011-05-02 Annual
2013-05-01 Other
Когда на самом деле он должен показать, как это:
2013-06-29 Annual
2013-05-01 Other
2012-01-01 Annual
2011-05-02 Annual
Любая идея, почему заказ по убыванию не работает?
EDIT
Я получаю ошибку литья, когда я использую CONCAT.
И «Ежегодный» и «Другие» листья того же типа, но когда я
leaves = leaves.Concat(otherleaves)
тогда проект не компилируется и дает ошибку
Cannot implicitly convert type System.Collections.Generic.IEnumerable<MyEntity> to System.Collections.Generic.List<MyEntity>
И если тип я литье:
leaves = (List<MyEntity>)leaves.Concat(otherleaves)
после этого я получаю ошибку времени выполнения.
'leaves = leaves.OrderByDescending (e => e.StartDate);'? Или измените переменную, если типы не совпадают. –