C# сравнить строки на другом языке
У меня есть несколько строк на разных языках; например:
- "Кот Джест Добры" (на польском языке)
- "кошка хороша" (на английском)
Это заголовки кнопок, которые переведены с английского на язык, выбранный пользователем.
Какой лучший способ сравнить эти подписи, программно?
2 ответа
Поскольку обе строки являются переводами друг друга, вы можете вести таблицу перевода, и если вы хотите узнать, совпадают ли две строки, вы можете просто найти их в своей таблице и, если они окажутся в одной строке, то они равный например
class TranslatedText
{
public int Id {get; set; }
public string Language {get; set; }
public string Text {get; set; }
}
Так что заполните список TranslatedText
объекты с каждой строкой и назначить один и тот же идентификатор для тех же частей текста. Позже для сравнения вы можете найти соответствующий объект в списке и проверить Id следующим образом
var first = translatedTextList.FirstOrDefault(t=>t.Text.Equals(firstString));
var second = translatedTextList.FirstOrDefault(t=>t.Text.Equals(secondString));
bool areSame = (first != null & second !=null & first.Id == second.Id);
return areSame;
Предполагая, что строки, которые вы хотите сравнить, называются firstString
а также secondString
;
Переопределите функцию.equal() или преобразуйте ее в массив char и сравните!
здесь вы найдете КАК: