Вот мои настройки.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 всегда имеет значение null. itemList имеет значение 7. Я проверил трижды, и все элементы экземпляра itemList имеют приоритет.
Что я делаю неправильно?
Я также попытался ...
ItemList newItemList = itemList
.OrderBy(item => item.Priority)
.ToList() as ItemList;
Ничто, кажется, работает.
Заранее благодарен!
Я стараюсь избегать использования Сортировки, потому что, если я не ошибаюсь, что я часто бываю, для этого нужно построить методы CompareTo для всего, что я хочу сортировать. – Altonymous
BTW. Когда я пытаюсь использовать это решение, CompareTo не является допустимым методом Off Priority. Приоритет - это int? – Altonymous
Понял, я думаю! itemList.Sort ((x, y) => x.Priority.HasValue.CompareTo (y.Priority)); – Altonymous