這是我的設置。C#列表<T> OrderBy總是返回null
public class ItemList : List<Item>
{
public void Load() {...}
public void Save() {...}
}
負載從一個XML文件中讀取來填充ITEMLIST
然後我試圖通過一個優先訂購的項目清單。這是一個int?但爲了測試目的,所有項目都有不同的值。
ItemList itemList = new ItemList();
itemList.Load();
ItemList newItemList = itemList
.OrderBy(item => item.Priority) as ItemList;
return newItemList;
在上面的newItemList始終爲空。 itemList的計數爲7.我檢查了三倍,itemList實例中的所有項目都有一個優先級設置。
我在做什麼錯?
我也試過......
ItemList newItemList = itemList
.OrderBy(item => item.Priority)
.ToList() as ItemList;
一切似乎是工作。
在此先感謝!
我試圖避免使用Sort,因爲除非我誤會,我經常這樣做,它需要構建CompareTo方法來處理我想要排序的所有內容。 – Altonymous 2009-10-23 14:52:25
順便說一句,當我嘗試並使用此解決方案時,CompareTo不是一個有效的方法關閉優先級。優先級是一個整數? – Altonymous 2009-10-23 14:54:27
知道了! itemList((x,y)=> x.Priority.HasValue.CompareTo(y.Priority)); – Altonymous 2009-10-23 14:56:35