Ordonner en ordre consante les donné une variable

Résolu
cs_li Messages postés 54 Date d'inscription vendredi 7 novembre 2003 Statut Membre Dernière intervention 6 juin 2011 - 10 nov. 2007 à 05:55
cs_li Messages postés 54 Date d'inscription vendredi 7 novembre 2003 Statut Membre Dernière intervention 6 juin 2011 - 10 nov. 2007 à 14:06
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

cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
10 nov. 2007 à 10:29
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 ++
3
cs_li Messages postés 54 Date d'inscription vendredi 7 novembre 2003 Statut Membre Dernière intervention 6 juin 2011
10 nov. 2007 à 14:06
merci beaucoup de cette reponce j'adore ce forum
0
Rejoignez-nous