編譯器而是選擇了LINQ的擴展方法Enumerable.Reverse<T>(this IEnumerable<T>)
的方法List<T>.Reverse()
。
由於List<T>.Reverse()
通過逆轉就地的元素,而不是返回一個新的列表修改了該列表,您可以只調用作爲單獨的步驟:
List<Entities.Notification> ProgramList = EventData.ToList();
ProgramList.Reverse();
ListViewEvents.DataSource = ProgramList;
ListViewEvents.DataBind();
或
List<Entities.Notification> ProgramList = EventData.ToList().Reverse();
ListViewEvents.DataSource = ProgramList;
ListViewEvents.DataBind();
或您可以撥打AsEnumerable()
而不是ToList()
來代替擴展方法:
List<Entities.Notification> ProgramList = EventData.AsEnumerable();
ListViewEvents.DataSource = ProgramList.Reverse(); // returns a new IEnumerable
ListViewEvents.DataBind();
作爲一個附註,擴展方法可能會更好地執行List<T>.Reverse
,因爲它返回的迭代器以相反的順序遍歷列表,而不是實際顛倒列表中項目的順序。
如果您想要最有效的方法,請將其添加到堆棧然後取下。堆棧中的第一項是最後一項。 –