Partager via


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

Les opérations de chaîne sensibles à la culture sont avantageuses si vous créez des applications conçues pour afficher les résultats aux utilisateurs en fonction de la culture. 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 sensibles à la culture lorsque les résultats doivent être indépendants de la culture peut entraîner l’échec du code d’application sur les cultures avec des mappages de cas personnalisés et des règles de tri. Pour un exemple, consultez la section Comparaisons de chaînes qui utilisent la culture actuelle dans Meilleures pratiques pour utiliser les 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îne qui affichent les résultats à l’utilisateur doivent généralement être sensibles à 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 respectant 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 travaille avec des noms de fichiers, des formats de persistance ou des informations symboliques qui ne sont pas affichées à l’utilisateur, les résultats des opérations de chaîne ne doivent pas varier selon la culture. Par exemple, si une application compare une chaîne pour déterminer s’il s’agit d’une balise XML reconnue, la comparaison ne doit pas être sensible à la culture. En outre, 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 modification de cas, l’opération doit être insensible à la culture pour s’assurer 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 sensibles à la culture fournissent également une surcharge qui vous permet de garantir des résultats non sensibles à 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.

Dans cette section

Les articles de cette section montrent comment effectuer des opérations de chaîne non sensibles à la culture à l’aide de méthodes .NET sensibles à 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 qui ne tiennent pas compte 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, SortedList, ArrayList.Sort et CollectionsUtil.CreateCaseInsensitiveHashtable pour effectuer des opérations non sensibles à la culture dans les 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