Maison > développement back-end > C++ > Comment effectuer correctement des comparaisons de chaînes insensibles à la casse en C# ?

Comment effectuer correctement des comparaisons de chaînes insensibles à la casse en C# ?

Patricia Arquette
Libérer: 2025-01-19 12:46:09
original
206 Les gens l'ont consulté

How to Perform Case-Insensitive String Comparisons Correctly in C#?

Comparaison de chaînes insensibles à la casse en C#

Lorsque vous effectuez des comparaisons de chaînes en C#, vous devez généralement ignorer la casse. Bien que vous puissiez initialement envisager d'utiliser la méthode StringComparison.OrdinalIgnoreCase avec Equals, cela peut conduire à des résultats inattendus.

Dans l'exemple de code suivant :

drUser["Enrolled"] = 
      (enrolledUsers.FindIndex(x => x.Username.Equals((string)drUser["Username"], 
                                 StringComparison.OrdinalIgnoreCase)));
Copier après la connexion

Le problème est d'utiliser la méthode Equals avec une expression lambda. L'expression lambda attend une expression booléenne, mais la méthode Equals renvoie void.

Dans .NET Framework 4 et supérieur, il est recommandé d'utiliser la méthode String.Compare combinée avec StringComparison.OrdinalIgnoreCase pour une comparaison de chaînes insensible à la casse, comme indiqué ci-dessous :

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

Alternativement, pour rendre le code plus lisible et moins sujet aux erreurs, vous pouvez utiliser la méthode String.Equals, comme ceci :

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

Ces méthodes garantissent que les comparaisons de chaînes sont effectuées sans tenir compte de la casse, fournissant ainsi des résultats précis.

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 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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal