2016-05-19 3 views
1

У меня есть программа, которая работает с текстом, и мне нужно получить длину строки. НО, если, на мой взгляд, у меня есть национальное письмо, метод длины недействителен. Он получает дополнительно +1 для каждого национального письма, поэтому он возвращает 6 из «qwerty», но 7, если я использую «e с маленьким хвостом» вместо обычного «e».String.length() против национальных букв

Любые идеи, как я могу это исправить?

Кроме того, извините за описание букв, но я думаю, что StackOverflow берет мои национальные символы, грамматические ошибки и не позволяет мне задать вопрос:/

ответ

3

Он говорит вам, на странице string.Length что делать (выделено мной):

Свойство Length возвращает количество объектов Char в этом экземпляре, а не число символов Юникода. Причина в том, что a Юникодный символ может быть представлен более чем одним Char. Используйте класс System.Globalization.StringInfo для работы с каждым символом Unicode вместо каждого Char.

+0

спасибо, ты отличный – Slowbro

Смежные вопросы