Bonjour,

J'ai une List<String> avec des éléments, dont certain sont des doublons, et en sortie j'aimerai récuperer une liste sans les doublons.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
            List<String> locale = new List<string>();
            locale.Add("toto");
            locale.Add("123");
            locale.Add("toto");
            locale.Add("toto");
            locale.Add("123");
            locale.Add("toto");
            locale.Add("toto");
            locale.Add("bidule[]***");
            locale.Add("tobidule[]***to");
            locale.Add("bidule[]***");
 
            locale.Sort();
Ce qui est délicat si je supprime un élément dans la collection alors que je la parcours, je risque d'avoir un OutOfBoundException.

Ne dois-on pas faire l'opération en utilisant une autre liste tampon ?

Merci beaucoup

Voici ce que j'ai fais, et qui ne fonctionne pas correctement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
            List<String> copie = new List<string>();
            int i = 0;
            foreach (String s in locale)
            {
                try
                {
                    if (locale[i] != locale[++i + 1])
                    {
                        copie.Add(locale[i]);
                    }
                }
                catch (Exception e) { }
 
            }
Il faut que je gére mieux l'index pour ne pas creer une Exception, et j'obtiens encore 1 doubon avec cette méthode... l'algorithme n'est pas bon !