Bonjour,
J'ai une liste generic d'objet que j'aimerais trier du type List<User>.Sort().
Comment dois je faire ?
Merci
Bonjour,
J'ai une liste generic d'objet que j'aimerais trier du type List<User>.Sort().
Comment dois je faire ?
Merci
MCTS Microsoft.
La conception : Prendre le temps pour gagner du temps.
Bonjour topolino,
Je ne comprends pas vraiment ta demande.
Est-ce que ta liste est bien de type List<User> ? Si oui, sur quel critère veut tu la trier ? De manière ascendante ou descendante ?
Quelle version du framework utilises-tu ?
Je desire le trier sur le nom par exemple.
Je ne peux pas utiliser Ling et les lambda expression.
Je suis en c#2.0
MCTS Microsoft.
La conception : Prendre le temps pour gagner du temps.
Ok, avec un délégué anonyme et la méthode Sort ça devrait passer :
Je part du principe que la propriété Nom de User est de type string.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 liste.Sort(new Comparison<User>(delegate(User user1,User user2) { return user1.Nom.CompareTo(user2.Nom); }));
Il faut implémenter un IComparer<User> :
Et pour l'utiliser, tu le passes en paramètre de la méthode Sort :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public class UserComparer : IComparer<User> { public int Compare(User x, User y) { return string.Compare(x.Nom, y.Nom); } }
EDIT: Sinon la méthode de Paul avec un Comparison<User> est un pas mal aussi... C'est plus concis, mais la syntaxe est (un peu) plus compliquée je trouve
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 List<User> users = new List<User>(); ... users.Sort(new UserComparer());
Pas de questions techniques par MP ! Le forum est là pour ça...
Tutoriels : Les nouveautés de C# 6 - Accès aux données avec Dapper - Extraction de données de pages web à l'aide de HTML Agility Pack - La sérialisation XML avec .NET (Aller plus loin) - Les markup extensions en WPF
Merci à vous deux.
Je voulais un truc simple, car je n'avais pas envie de faire une class implementant icomparer et icomparable a chaque list d'objet que je dois creer, juste pour implementer une tri simple.
Merci à vous 2
MCTS Microsoft.
La conception : Prendre le temps pour gagner du temps.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager