Partager via


Classe System.StringComparer

Cet article vous offre des remarques complémentaires à la documentation de référence pour cette API.

Un objet dérivé de la classe incarne les opérations de comparaison, d’égalité et de code de hachage basées sur des chaînes qui prennent en compte les règles de comparaison spécifiques à la StringComparer casse et à la culture. Vous pouvez utiliser la StringComparer classe pour créer une comparaison spécifique au type pour trier les éléments d’une collection générique. Les classes telles que Hashtable, , Dictionary<TKey,TValue>SortedListet SortedList<TKey,TValue> utilisent la StringComparer classe à des fins de tri.

Une opération de comparaison représentée par la classe est définie pour être sensible à la casse ou insensible à la casse, et utilisez des règles de comparaison word (sensibles à la StringComparer culture) ou ordinales (non sensibles à la culture). Pour plus d’informations sur les règles de comparaison de mots et ordinales, consultez System.Globalization.CompareOptions.

Remarque

Vous pouvez télécharger la table d’éléments de classement Unicode par défaut, la dernière version de la table de pondération de tri. La version spécifique de la table de pondération de tri dépend de la version des composants internationaux pour les bibliothèques Unicode installées sur le système. Pour plus d’informations sur les versions ICU et les versions Unicode qu’elles implémentent, consultez Téléchargement d’ICU.

Pour .NET Framework sur Windows, vous pouvez télécharger les tables de pondération de tri, un ensemble de fichiers texte qui contiennent des informations sur les pondérations de caractères utilisées dans les opérations de tri et de comparaison.

Propriétés implémentées

Vous pourriez être confus sur la façon d’utiliser les StringComparer propriétés de classe en raison d’une contradiction apparente. La StringComparer classe est déclarée abstract (MustInherit en Visual Basic), ce qui signifie que ses membres peuvent être appelés uniquement sur un objet d’une classe dérivée de la StringComparer classe. La contradiction est que chaque propriété de la StringComparer classe est déclarée static (Shared en Visual Basic), ce qui signifie que la propriété peut être appelée sans créer d’abord une classe dérivée.

Vous pouvez appeler une StringComparer propriété directement, car chaque propriété retourne réellement une instance d’une classe anonyme dérivée de la StringComparer classe. Par conséquent, le type de chaque valeur de propriété est StringComparer, qui est la classe de base de la classe anonyme, et non le type de la classe anonyme elle-même. Chaque StringComparer propriété de classe retourne un objet qui prend en charge les StringComparer règles de casse et de comparaison prédéfinies.