Задать вопрос
@Skifandr

Как реализовать работу метода ToLower с кириллицей (telegram bot)?

Здравствуйте. Изучаю взаимодействие с телеграмм ботом в c#. Столкнулся с проблемой некорректной работы метода ToLower. Метод не срабатывает и возвращает строку в неизменном состоянии. Проблема именно с кириллицей, с латиницей все работает отлично. Подозреваю, что проблема в кодировке. В коде ниже бот должен сравнивать полученное сообщение с листом вопросов и выдавать ответ. Все работает, только если совпадает регистр. Помогите, пожалуйста, укажите направление. Возможно нужно как-то по другому сравнивать строки?

var test=message.Text.ToLower();

            var result = dictList.FindAll(
                delegate (TextMes tm)
            {
                string lowerMessageText = message.Text.ToLower();
                return lowerMessageText.Contains(tm.key);
                //return message.Text.ToLower().Contains(tm.key);
            }
            );
            if(result.Count != 0)
            {
                Random rnd = new Random();
                int value = rnd.Next(0, result.Count);
                {
                    await botClient.SendTextMessageAsync(chatID, result[value].answer);
                }

            }
  • Вопрос задан
  • 92 просмотра
Подписаться 2 Простой 8 комментариев
Пригласить эксперта
Ответы на вопрос 1
@Skifandr Автор вопроса
Сменил версию фрейморка на 6.0 и все заработало. Вероятно проблема была в самой visual studio. Может быть в кэше. Но точно не в самой версии фрейворка, так как ToLower хорошо работает на новых проектах на любой версии фреймворка. Спасибо за участие и уделенное время.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы