Maison > développement back-end > C++ > Comment effectuer efficacement des comparaisons de chaînes insensibles à la casse dans .NET ?

Comment effectuer efficacement des comparaisons de chaînes insensibles à la casse dans .NET ?

DDD
Libérer: 2025-01-19 12:56:10
original
676 Les gens l'ont consulté

How to Perform Case-Insensitive String Comparisons in .NET Efficiently?

Comparaison de chaînes insensibles à la casse dans .NET

Effectuer des comparaisons de chaînes insensibles à la casse est crucial dans de nombreuses tâches de programmation. Cet article explique comment résoudre efficacement ce problème.

Le but est de faire en sorte que les lignes de code suivantes ignorent la casse :

<code>drUser["Enrolled"] = (enrolledUsers.FindIndex(x => x.Username == (string)drUser["Username"]) != -1);</code>
Copier après la connexion

Utiliser la méthode Equals et StringComparison.OrdinalIgnoreCase semble fonctionner :

<code>x.Username.Equals((string)drUser["Username"], StringComparison.OrdinalIgnoreCase)));</code>
Copier après la connexion

Cependant, utiliser cette méthode dans une expression FindIndex ne produit pas les résultats attendus.

Le principal problème est l'utilisation de x.Username.Equals. Bien que cette méthode gère en interne les comparaisons insensibles à la casse, elle ne renvoie pas l'index de l'élément correspondant.

Bonnes pratiques pour la comparaison de chaînes .NET insensibles à la casse

Pour effectuer correctement des comparaisons de chaînes insensibles à la casse dans .NET, il est recommandé d'utiliser la méthode String.Compare et StringComparison.OrdinalIgnoreCase :

<code>String.Compare(x.Username, (string)drUser["Username"], StringComparison.OrdinalIgnoreCase) == 0</code>
Copier après la connexion

Alternativement, vous pouvez utiliser la méthode String.Equals et le drapeau StringComparison.OrdinalIgnoreCase :

<code>String.Equals(x.Username, (string)drUser["Username"], StringComparison.OrdinalIgnoreCase)</code>
Copier après la connexion

MSDN recommande ces méthodes pour tester respectivement l'égalité des chaînes et le tri des chaînes :

  • String.Equals : pour tester l'égalité
  • String.Compare et String.CompareTo: sont utilisés pour le tri

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