Réponses
Trop de publicités?Si vous êtes à la recherche d’efficacité, utilisez ceci :
Des comparaisons ordinales peuvent être nettement plus rapides que les comparaisons sensibles à la culture.
``peut être la meilleure option si vous faites beaucoup de comparaisons effectuées sur la même chaîne, cependant.
Comme pour toute optimisation des performances : mesurer, puis décider !
L' .ToLowerCase
version n'est pas va être plus rapide, mais il implique un supplément de l'attribution des chaînes
(qui doit ensuite être collectées), etc.
Personnellement, j'utiliserais
string.Equals(val, "astringvalue", StringComparison.OrdinalIgnoreCase)
cela évite tous les problèmes de la culture des chaînes sensibles, mais en conséquence, il évite tous les problèmes de la culture des chaînes sensibles. Seulement, vous savez si c'est OK dans votre contexte.
À l'aide de l' string.Equals
méthode statique évite tous les problèmes avec val
être null
.
Ma réponse générale à ce genre de question sur « l’efficacité » est presque toujours, quelle que soit version du code est plus lisible, est le plus efficace.
Cela étant dit, je pense que `` est assez compréhensible en un coup de œil par la plupart des gens.
L’efficience, que je veux parler n’est pas nécessairement dans l’exécution du code, mais plutôt dans la maintanance et généralement la lisibilité du code en question.