2009-10-09 4 views
0

J'ai une liste de noms de pays. Maintenant, je veux les trier alphabétiquement, en pensant à la culture des utilisateurs. J'ai les 4 cultures scandinaves norvégiennes, suède, danmark en finlande.C# trier les chaînes avec une culture scandinave spécifique à l'esprit

Pour sweden, le Ö (O avec deux points si elle n'est pas imprimé correctement) doit apparaître à la fin, après la Z, mais pour danemark il est juste la lettre O, il doit apparaître après le N.

J'ai déjà travaillé sur la création d'un O pour l'Ö pour danmark mais gardez-le comme Ö pour la Suède.

Mais List.sort n'a pas de surcharge pour un cultureinfo, seulement pour un compilateur de chaîne. Mais dans le stringcomparer un ne peut pas fournir un cultureinfo?

Michel

Répondre

4

Si vous utilisez C# vous pouvez essayer cette

List<string> s = new List<string>(); 
      s.Sort(delegate(string item1, string item2) { return String.Compare(item1,item2, false, new CultureInfo("")); }); 
+0

Merci, qui a fait l'affaire. Peut-être est-ce un peu hors sujet, mais le fait que la culture 'sv-SE' me donne le Ø après le Z, et autant que je peux trouver le Ø n'est pas une lettre séparée dans l'alphabet suédois. – Michel

Questions connexes