Des nombre en ordre croissant

Signaler
Messages postés
9
Date d'inscription
jeudi 27 mars 2008
Statut
Membre
Dernière intervention
3 août 2008
-
Messages postés
9
Date d'inscription
jeudi 27 mars 2008
Statut
Membre
Dernière intervention
3 août 2008
-
bonsoir tt le monde


est ce que quelqu'un peut me dire comment faire pour mettre en ordre une liste des nombre entier


par exempl sa me donne sa :  1  10  2  20  2001     3   ....


je veux q elle soit ;   1 2 3 10 20 2001 ....


j'ai utulisé order by mais sa n'as pas marché et je sollicite votre merci
 nb j'utulise vb.net 2003 avec sql server 2000

2 réponses

Messages postés
840
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
7 janvier 2009
9
Salut,

VB.NET 2003? C'est à dire le framework 1.1, ça se fait bien vieux donc. Je te conseil vivement de passer au minimum à la version 2.0 du framework (VB 2005), il y a eu d'énormes améliorations entre la version 1.1 et 2.0.

Ton triage ne fonctionne pas comme tu le veux car tu trie alphabétiquement (car c'est une liste de String). 2 solutions:

1. Tu créé une liste de nombre entiers :

    Dim list As New List(Of Integer)
    list.Add(1)
    list.Add(10)
    list.Add(2)
    list.Add(20)
    list.Add(2003)
    list.Add(3)

    list.Sort()

2. Tu garde ta liste de String mais tu créé un Comparer qui comparera des valeurs entière :

  Private Class MyListComparer
        Inherits Comparer(Of String)

        Public Overrides Function Compare(ByVal x As String, ByVal y As String) As Integer
            Dim val1 As Integer = x
            Dim val2 As Integer = y
            Return val1.CompareTo(val2)
        End Function

    End Class

    ' La liste :
   
    Dim list As New List(Of String)
    list.Add(1)
    list.Add(10)
    list.Add(2)
    list.Add(20)
    list.Add(2003)
    list.Add(3)

    list.Sort(New MyListComparer)

 
Messages postés
9
Date d'inscription
jeudi 27 mars 2008
Statut
Membre
Dernière intervention
3 août 2008

merci jte tiens au courant merci