ORDRE ALPHABÉTIQUE

Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
- - Dernière réponse : cs_goc
Messages postés
19
Date d'inscription
samedi 25 octobre 2003
Statut
Membre
Dernière intervention
21 avril 2011
- 20 déc. 2010 à 19:16
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/52520-ordre-alphabetique

Afficher la suite 
cs_ghuysmans99
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
11 -
* Programme VB.NET, merci de l'indiquer
* Pas besoin de If à la ligne 56 (Return direct)
* position_dans_alphabet à supprimer. Utilise les fonctions de la classe Convert
* Exit Function après Return inutile
* N'utilise pas les fonctions de la classe Strings mais taChaine.Substring() pour un Mid, etc.
nhervagault
Messages postés
6069
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
22 -
compare_2_strings peut surement etre optimisé.
Avec des indexOf par exemple et contains
nhervagault
Messages postés
6069
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
22 -
Le sort sur les lists de string ne fonctionne pas ???
NHenry
Messages postés
14552
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
15 septembre 2019
136 -
Je note pour commencer :
Function ordre_alphabetique(ByVal tableau_de_string() As String) as Boolean

TOUJOURS mettre Option Strict et Option Explicit à On

JAMAIS de GOTO
GoTo mot_suivant
Peut être remplacé par Exit For

Si dans ton tableau il y a que des chaines différentes, tu peux encore faire plus simple :
Function ordre_alphabetique(ByVal tableau_de_string() As String) as Boolean
Dim ltDict as New SortedList(Of String, String)

For Each lStr As String In tableau_de_string
If lStr.Trim.Length>0 Then
ltDict.Add(lStr.ToLower(),lStr)
End If
Next

Dim i as Integer=0
For Each lStr In ltDict.Values
tableau_de_string(i)=lStr
i+=1
Next

Return True
End Function
michael59330
Messages postés
26
Date d'inscription
dimanche 27 janvier 2008
Statut
Contributeur
Dernière intervention
7 juillet 2019
-
Merci beaucoup pour vos idées d'amélioration!!