Comparaison de chaînes, .NET et espace non cassant

J'ai une application écrite en C# qui fait beaucoup de comparaison de chaînes de caractères. Les cordes sont tirés à partir d'une variété de sources (y compris la saisie de l'utilisateur) et sont ensuite comparés. Cependant, je suis en cours d'exécution dans des problèmes lors de la comparaison de l'espace '32' à l'espace insécable '160'. Pour l'utilisateur ils ont le même aspect et donc, ils s'attendent à un match. Mais quand l'application ne le comparer, il n'y a pas de match.

Quelle est la meilleure façon d'aller à ce sujet? Vais-je avoir à aller à toutes les parties du code qui ne une comparaison de chaîne manuellement et de normaliser les espaces insécables à des espaces? N' .NET propose quelque chose pour l'aider? (J'ai essayé toutes les options de comparaison, mais aucun ne semble pour aider.)

Il a été suggéré que je normaliser les chaînes à la réception, puis laissez la chaîne de la méthode de comparaison il suffit de comparer l'normalisée des chaînes de caractères. Je ne suis pas sûr que ce serait simple de le faire parce que ce qui est normalisé chaîne dans la première place. Que dois-je normaliser ce trop? Bien sûr, pour l'instant je peux convertir les espaces insécables pour les espaces insécables. Mais quoi d'autre pouvez montrer? Il peut potentiellement être très grand nombre de ces règles? Ils pourraient même être contradictoires. (Dans un cas, je veux utiliser une règle et d'un autre je n'ai pas.)

source d'informationauteur Mark