begin process at 2012 02 10 11:12:38
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C#

 > 

Archives

 > 

Au secours

 > 

Trier tableau + help


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Trier tableau + help

jeudi 7 avril 2005 à 15:37:00 | Trier tableau + help

emmanuel9

Bonjour,

j'ai une classe Personne :

Personne
{
public :
String * nom ;
String * prenom ;
int age ;
}

et j'ai une arraylist de 15 instance de ma classe Personne, et je souhaiterais pouvoir les trier par exemple sur leur nom ou sur leur prenom ou sur leur age par ordre croissant ou decroissant. Mais je n'ais point vu de maniere qui permettre de le faire.
Je precise que j'ai une arraylist de 15 instance mais je peux faire aussi avec un tableau de 15 items.

Quelqun aurait t'il une solution ?

Par avance, merci.
jeudi 7 avril 2005 à 16:12:52 | Re : Trier tableau + help

Athalus

Membre Club
Bonjour,

jetes un oeil ici
http://www.csharpfr.com/forum.v2.aspx?ID=211455 ca peut t'aider

hum.......

jeudi 7 avril 2005 à 16:24:09 | Re : Trier tableau + help

emmanuel9

si j'ai un tableau à une dimension dedans j'arrive a le trier :

talbeau->sorting = Sorting::ascending ou descending

la syntaxe est pas bonne mais bon

mais en faite je voudrais trier mes objets sur la base d'une de leur propriété

jeudi 7 avril 2005 à 16:28:05 | Re : Trier tableau + help

titeoe

Réponse acceptée !

personellement je construirait une datatable avec 3 champs correspondant aux 3 membres de ta classe (nom , prenom , age )

ensuite tu remplit ta datatable avec les données de ton arraylist

Ensuite tu peux utiliser les options de tri de l'objet datatable ou de la dataview associée, ce qui te permettra de trier ASC ou DESC sur la colonne que tu veux.

Ensuite tu écrit une méthode qui retransforme ta datatable en arraylist une fois triée.

pour résumer :

1/ private datatable GetDataTable ( ArrayList maListe) 
   {}

2/ private datatable  SortTable ( datatable maTable , String maColone, String monSens) 
   {}

3/ private ArrayList  GetArrayList  ( datatable maTable ) 
   {}

avantages : si modifie ta classe personne , tu n'a pas de code a réécrirer pour dire sur quel membre tu veux trier.


et hop

jeudi 7 avril 2005 à 16:36:10 | Re : Trier tableau + help

emmanuel9

ah ok merci, je vais essayer ca alors.
jeudi 7 avril 2005 à 16:46:19 | Re : Trier tableau + help

titeoe

Réponse acceptée !
sinon j'ai trouvé ca aussi :

[ Lien ]
jeudi 7 avril 2005 à 16:46:34 | Re : Trier tableau + help

coq

Administrateur CodeS-SourceS
Réponse acceptée !
En créant un sorter perso implémentant IComparer.
Petit exemple vite fait :

Sorter :
public enum PersonneSortMember
{
Nom,
Prenom,
Age
}

public class PersonneSorter : IComparer
{
public PersonneSorter ( PersonneSortMember sortBy )
{
m_sortBy = sortBy;
}

private PersonneSortMember m_sortBy;

#region Membres de IComparer

public int Compare(object x, object y)
{
Personne xPersonne = (Personne)x;
Personne yPersonne = (Personne)y;

int result = 0;

switch ( m_sortBy )
{
case PersonneSortMember.Nom:
result = xPersonne.nom.CompareTo(yPersonne.nom);
break;

case PersonneSortMember.Prenom:
result = xPersonne.prenom.CompareTo(yPersonne.prenom);
break;

case PersonneSortMember.Age:
result = xPersonne.age.CompareTo(yPersonne.age);
break;
}

return result;
}

#endregion
}


Utilisation :
liste.Sort(new PersonneSorter(PersonneSortMember.Nom));
liste.Sort(new PersonneSorter(PersonneSortMember.Prenom));
liste.Sort(new PersonneSorter(PersonneSortMember.Age));



Cocoricoooooooo !!!!
coq
MVP Visual C#
jeudi 7 avril 2005 à 16:53:19 | Re : Trier tableau + help

emmanuel9

merci, je vais essayer les deux solutions enfin je vais d'abord essayer de comprendre héhé
jeudi 7 avril 2005 à 18:24:28 | Re : Trier tableau + help

sebseb42

Réponse acceptée !
la solution de coq est de loin la meilleur, car elle est la plus approprier, titeoe, je te suggere de passer par un SQL Server 2005 avec la DB monter sur un RAID :P

tu peux creer un Sorter perso comme l'a montrer coq, et l'utiliser aussi avec la fonction Array.Sort() si tu as besoin de trier un tableau et non une liste :)



vendredi 8 avril 2005 à 10:10:11 | Re : Trier tableau + help

titeoe

je suis d'accord avec toi sebseb42, la solution de coq est vraiment bien ( et en plus c'est la meme que celle de mon 2e post).

Mais bon, j'ai le droit d'etre fatigué et pas aussi balaise que coq ;)))


1 2

Cette discussion est classée dans : help, string, tableau, classe, trier


Répondre à ce message

Sujets en rapport avec ce message

Tableau trier help [ par emmanuel9 ] Bonjour, Je chercher à trier un tableau de x élements dans utiliser de méthode comme sort. Quel méthodes de tries me conseilleriez vous et surtout com Trier un tableau string avec QuickSort [ par spmsbl ] Bonjour J'ai un tableau de string ex: 02 aaaaaaa bbbbbbbbbbb 123456 123456 123456 04 ccccccc ddddddddddd 45632 25478 2365477 J'ai créé plusieurs Salut! j'ai un tableau public string[] tab_lexmark = { "Impact", "Interact", "Pro", "S", "X", "Z" }; et ajouter un élément à ce tableau // j'en fait un autre plus grand string [] mon_tableau_en_plus_grand = new string [tab_lexmark.Length + 1]; / [ par adleni ] Salut! j'ai un tableau public string[] tab_lexmark = { "Impact", "Interact", "Pro", "S", "X", "Z" }; et ajouter un élément à ce tableau // j'en ActiveX d'authentification avec présentation des certificats [ par lebillaj ] Bonjour la communauté, Mon projet est de développer un activeX qui va permettre à un utilisateur de s'authentifier sur un portail web pour ensuite p string.format [ par technicienne ] salut tout le monde je voudrais ajouter à ma bibliothéque de classe une spécification du format des variables de différents type (string,int,double) Remplir un tableau avec une string, [ par bananito ] Bonjour a tous et merci a tous les membres de ce forum. Je suis débutant en c# et je cherche a remplir un tableau de 3 colonnes via une string du ty Récupérer un paramètre d'une classe mère [ par therainbow3 ] Bonjour, J'ai créé une classe mère de cette forme:public class Page    {        protected ArrayList textes;        protected ArrayList images;        TABLEAU [ par facbest ] Bonjour, mon code: done = new string[]{A = "8",B = "1",C = "4",D = "2",E ="6",F = "8",G ="2",H = "8",I ="4",J ="1",K ="7", L'index se trouve en dehors des limites du tableau [ par garygary54000 ] Salut ! Je souhaite faire une requete sql de type select , avec comme paramètre WHERE ' un tableau ' . La requete est donc inséré dans une boucle for


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 11,201 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales