Effectuer des opérations de chaînes indépendantes de la culture

Les opérations de chaînes dépendantes de la culture présentent un avantage si vous créez des applications conçues pour afficher des résultats en fonction de la culture des utilisateurs. Par défaut, les méthodes dépendantes de la culture obtiennent la culture à utiliser à partir de la propriété CurrentCulture du thread.

Parfois, les opérations de chaînes dépendantes de la culture ne correspondent pas au comportement souhaité. L'utilisation d'opérations dépendantes de la culture dans des scénarios où les résultats doivent être indépendants de la culture peut entraîner l'échec du code de l'application sur les cultures avec des mappages de casse personnalisés et des règles de tri. Pour obtenir un exemple, consultez la section Comparaisons de chaînes qui utilisent la culture actuelle dans Meilleures pratiques pour l’utilisation de chaînes.

La manière avec laquelle votre application utilise les résultats détermine si des opérations de chaînes sont dépendantes ou non de la culture. Les opérations de chaînes qui affichent des résultats à l'utilisateur final doivent être généralement dépendantes de la culture. Par exemple, si une application affiche une liste triée de chaînes localisées dans une zone de liste, l'application doit effectuer un tri dépendant de la culture.

Les résultats des opérations de chaînes qui sont utilisés en interne doivent être généralement indépendants de la culture. En général, si l'application utilise des noms de fichiers, des formats de persistance ou des informations symboliques qui ne sont pas affichées, les résultats des opérations de chaînes ne doivent pas varier selon la culture. Par exemple, si une application compare une chaîne pour déterminer si celle-ci est une balise XML reconnue, la comparaison ne doit pas être dépendante de la culture. Si une décision de sécurité est basée sur le résultat d'une opération de comparaison de chaînes ou de changement de casse, cette opération doit être indépendante de la culture pour garantir que le résultat n'est pas affecté par la valeur de CurrentCulture.

La plupart des méthodes .NET qui effectuent par défaut des opérations de chaîne dépendantes de la culture fournissent également une surcharge qui vous permet de garantir des résultats indépendants de la culture. Ces surcharges qui prennent un argument CultureInfo vous permettent d’éliminer les variations culturelles dans les mappages de casse et les règles de tri. Pour les opérations de chaîne indépendantes de la culture, spécifiez la culture en tant que CultureInfo.InvariantCulture.

Contenu de cette section

Les articles de cette section montrent comment effectuer des opérations de chaîne indépendantes de la culture à l’aide de méthodes .NET dépendantes de la culture par défaut.

Exécution de comparaisons de chaînes indépendantes de la culture
Décrit comment utiliser les méthodes String.Compare et String.CompareTo pour effectuer des comparaisons de chaînes indépendantes de la culture.

Exécution de modifications de casse indépendantes de la culture
Décrit comment utiliser les méthodes String.ToUpper, String.ToLower, Char.ToUpper et Char.ToLower pour effectuer des changements de casse indépendants de la culture.

Exécution d’opérations de chaînes indépendantes de la culture dans des collections
Décrit comment utiliser CaseInsensitiveComparer, la classe CaseInsensitiveHashCodeProvider ainsi que SortedList, ArrayList.Sort et CollectionsUtil.CreateCaseInsensitiveHashtable pour effectuer des opérations indépendantes de la culture dans des collections.

Exécution d’opérations de chaînes indépendantes de la culture dans des tableaux
Décrit comment utiliser les méthodes Array.Sort et Array.BinarySearch pour effectuer des opérations indépendantes de la culture dans des tableaux.

Voir aussi