TGViewer
StepOne | Степан Минин StepOne | Степан Минин @steponeit · 3.27K subscribers
Post #246 2.16K
Неочевидные проблемы

Недавно ко мне обратился подписчик с просьбой разобраться в проблеме.

Есть присланный фрагмент кода, на котором проверяется равенство строк.

Загвоздка в том, что при видимом одинаковом значении "5.1$1" проверка даёт false.

Опытные могли догадаться, что дело в так называемых скрытых символах.

При обработке приложением строк, пришедших извне, надо быть готовым к такому сценарию.

Для начала можно посмотреть в дебаге на результат метода ToCharArray(): он покажет весь массив символов, и врага можно будет увидеть в лицо.

Как с ними бороться, зависит от ваших потребностей и возможностей:

▪️Ожидаете их только по краям? Тогда сойдёт Trim

▪️Когда хотите почистить внутри строки, можно прибегнуть к вызову char.IsControl()

▪️При особых запросах на очистку лишних символов уже придётся прибегнуть к кастомным фильтрациям с помощью статических методов char (например, IsLetter || IsDigit) ну или регулярок
  • 👍 28
  • ❤ 1
  • 🔥 1
More from @steponeit
  1. Sep 29, 2026Рассказал как автоматизировал сборку лексера компилятором для своего языка программировани…
  2. Sep 28, 2026Пошутил про джавистов в прямом эфире 😅 Шарпизм победил окончательно и бесповоротно!
  3. Sep 27, 2026Post #860
  4. Sep 25, 2026Рассказал как я добавил в HydraScript объекты и методы без классов и сделал протоколы. Стр…
  5. Sep 22, 2026Post #858
  6. Sep 21, 2026Post #857
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →