Ordonner en ordre consante les donné une variable [Résolu]

Signaler
Messages postés
54
Date d'inscription
vendredi 7 novembre 2003
Statut
Membre
Dernière intervention
6 juin 2011
-
Messages postés
54
Date d'inscription
vendredi 7 novembre 2003
Statut
Membre
Dernière intervention
6 juin 2011
-
voila j'ai une classe qui contien quelque donné

je voudrais savoir s'il est posible de triez les ellement contenue dans ma class selon l'un de parametre de ma class exemple:

allo(1).id = 7
allo(1).nom = allo
allo(2).id = 1
allo(2).nom = allice
allo(3).id = 9
allo(3).nom = mike

DEVIENDRAIT

alloallo(1).id = 1
allo(1).nom = allice
allo(2).id = 7
allo(2).nom = allo
allo(3).id = 9
allo(3).nom = mike

merci de vo reponce

p.s. je suis sous vb.net

2 réponses

Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
22
Bonjour,
Inspire toi de cet exemple. J'ai considéré que la variable allo est de type générique List(Of Personne) ou personne représente une personne.

Voici la classe Personne:
Public

Class Personne

    Public id
As
Integer
    Public nom
As
String
End
Class

Voici la méthode de tri à l'aide de system.comparaison:

Private
Function SortListProc(
ByVal x
As Personne,
ByVal y
As Personne)
As
Integer

If x
Is
Nothing
Then
    If y
Is
Nothing
Then
        Return 0

    Else
        Return -1

   End
If

Else
    
    If y
Is
Nothing
Then
        Return 1

    Else
       
       Dim retval
As
Integer = x.id. CompareTo (y.id)

       If retval <> 0
Then
            Return retval

       Else
            Return x.id.CompareTo(y.id)

       End
If
   
     End
If
End
If

End
Function

Pour trier ta liste allo rien de plus simple:

dim allo as new system.collections.generics.List(of Personne)

'ici tu remplis allo....
dim p1 as new personne
p1.id =7
p1.name="mike"
allo.add(p1)........

'Puis tu tris:
allo.Sort(addressOf SortListProc)

Voila ++
Messages postés
54
Date d'inscription
vendredi 7 novembre 2003
Statut
Membre
Dernière intervention
6 juin 2011

merci beaucoup de cette reponce j'adore ce forum