Maison > développement back-end > C++ > Comment comparer efficacement des chaînes sans tenir compte de la casse en C# ?

Comment comparer efficacement des chaînes sans tenir compte de la casse en C# ?

DDD
Libérer: 2025-01-03 03:19:40
original
752 Les gens l'ont consulté

How to Efficiently Compare Strings Case-Insensitively in C#?

Comparaison de deux chaînes sans tenir compte de la casse en C#

Lors de la comparaison de chaînes en C#, des comparaisons insensibles à la casse sont souvent nécessaires. Explorons différentes approches pour高效进行此操作:

1. Égal à StringComparison.InvariantCultureIgnoreCase (Culture-Aware)

if (val.Equals("astringvalue", StringComparison.InvariantCultureIgnoreCase))
Copier après la connexion

Cette approche prend en compte les aspects culturels, garantissant que la comparaison ne respecte pas la casse dans différentes cultures. Cependant, c'est généralement plus lent que les comparaisons insensibles à la culture.

2. ToLower avec comparaison directe (insensible à la culture)

if (val.ToLowerCase() == "astringvalue")
Copier après la connexion

Cette approche convertit explicitement la chaîne en minuscules, puis effectue une comparaison directe. C'est plus rapide que l'approche sensible à la culture, mais peut produire des résultats inattendus si la chaîne contient des caractères affectés par des règles de casse spécifiques à la culture.

3. Égal à StringComparison.OrdinalIgnoreCase (Comparaison ordinale)

if (string.Equals(val, "astringvalue", StringComparison.OrdinalIgnoreCase))
Copier après la connexion

Cette approche effectue une comparaison ordinale (insensible à la culture) insensible à la casse. C'est nettement plus rapide que les comparaisons tenant compte de la culture, mais il ignore toutes les conventions de casse culturelles.

Recommandation

Pour plus d'efficacité, utilisez StringComparison.OrdinalIgnoreCase, car il fournit une comparaison rapide et fiable, insensible à la casse. Toutefois, si vous avez besoin de comparaisons culturelles pour un scénario spécifique, la méthode Equals avec StringComparison.InvariantCultureIgnoreCase peut être plus appropriée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal