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
DDDoriginal
2025-01-19 12:56:10698parcourir

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>

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

<code>x.Username.Equals((string)drUser["Username"], StringComparison.OrdinalIgnoreCase)));</code>

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>

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>

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!

Déclaration:
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