7
votes

Trier la liste d'objet par Propriétés C #

J'ai cette classe: xxx

J'ai une fonction qui obtient une liste des jambes, appelée getlegs () xxx

maintenant Je voudrais trier cette liste. Donc, je dois d'abord envisager la journée, puis l'heure et enfin à la minute. Comment dois-je résoudre ce tri?

merci


3 commentaires

Pourquoi n'utilisez-vous pas l'indigène DateTime struct? Comparaison et donc trier supporté hors de la boîte. Voir MSDN.MicRosoft.com/fr- US / Bibliothèque / System.DateTime (v = vs.110) .a SPX


À propos de la manière - Regardez les questions connexes à droite - il y a beaucoup de threads similaires, vous devez apprendre à rechercher un peu. Un par exemple (premier que j'ai regardé) ... Stackoverflow.com/Questtions/3309188/...


Comme vous le voyez, c'est mon premier message ici, alors je vais probablement être plus habitué à la façon dont les choses fonctionnent;) Merci pour la réponse quand même, je ne peux malheureusement pas utiliser DateTime dans ce scénario.


5 Réponses :


1
votes

Vous pouvez écrire un Icomarer et le transmettre à la liste .sort méthode.

Alternativement, vous pouvez implémenter icomparable dans votre classe et simplement appeler list .sort . .


2 commentaires

Pas besoin de faire, même cela, il peut simplement écrire une Lambda anonyme dans la liste .sort .


Pour des raisons de réutilisation de code, la mise en œuvre de IComparable peut être la meilleure alternative si le tri / la comparaison doit se produire à plus d'un emplacement.



0
votes

Utilisez Enumérable.orderby méthode.


0 commentaires

0
votes

Je suppose que cela aiderait.

var o = legs.OrderBy(x => x.Day)
            .ThenBy(x => x.Hour)
            .ThenBy(x => x.Min);


0 commentaires

10
votes

Peut-être quelque chose comme ceci: xxx


0 commentaires

1
votes

Vous devez implémenter l'interface Icomarable sur votre classe pour permettre une manière plus intuitive que les objets soient triés dans la langue C #. Lorsqu'une classe implémente icomparable , vous devez également mettre en œuvre la méthode comparèteo (t).

jambe Implexes de classe Icomarable , ce qui signifie une instance peut être comparée à d'autres instances jambe . xxx < / pré>


0 commentaires