Voici ma configuration.C# Liste <T> OrderBy toujours retourner null
public class ItemList : List<Item>
{
public void Load() {...}
public void Save() {...}
}
charge lit à partir d'un fichier XML pour remplir le ItemList
je tente alors de commander la liste des éléments par une priorité. C'est un int? Pour les besoins du test, cependant, tous les éléments ont une valeur différente.
ItemList itemList = new ItemList();
itemList.Load();
ItemList newItemList = itemList
.OrderBy(item => item.Priority) as ItemList;
return newItemList;
Dans ce qui précède, newItemList est toujours null. itemList a un nombre de 7. J'ai triplé et tous les éléments de l'instance itemList ont un ensemble de priorités.
Qu'est-ce que je fais mal?
J'ai aussi essayé ...
ItemList newItemList = itemList
.OrderBy(item => item.Priority)
.ToList() as ItemList;
Rien ne semble fonctionner.
Merci d'avance!
J'essaie d'éviter d'utiliser Sort, car si je ne me trompe pas, ce que je suis souvent, il faut construire des méthodes CompareTo pour tout ce que je veux trier. – Altonymous
BTW, Lorsque j'essaie d'utiliser cette solution, CompareTo n'est pas une méthode valide hors priorité. La priorité est un int? – Altonymous
J'ai compris! itemList.Sort ((x, y) => x.Priority.HasValue.CompareTo (y.Priority)); – Altonymous