C# 比较不同语言的字符串

本文关键字:字符串 语言 比较 | 更新日期: 2023-09-27 18:36:25

我有一些不同语言的字符串;例如:

  • "kot jest dobry"(波兰语)
  • "cat is good" (英文)

它们是从英语翻译成从用户选择的语言的按钮的标题。

编程方式比较这些字幕的最佳方法是什么?

C# 比较不同语言的字符串

由于这两个字符串都是彼此的翻译,您可以维护一个翻译表,如果您想找出两个字符串是否相同,您可以在表中查找它们,如果它们碰巧落在同一行中,那么它们就是相等的,例如

class TranslatedText
{
      public int Id {get; set; }
      public string Language {get; set; }
      public string Text {get; set; }
}

因此,使用每个字符串填充TranslatedText对象的列表,并为相同的文本片段分配相同的 id。稍后进行比较,您可以在列表中查找相应的对象并像这样检查 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;

假设您要比较的字符串称为 firstStringsecondString ;

覆盖.equal()函数或将其转换为char数组然后比较!

在这里,您可以找到如何:

http://msdn.microsoft.com/en-us/library/ms173147.aspx