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

时间:2012-06-05 09:39:27

标签: c# compare localized

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

  • “kot jest dobry”(波兰语)
  • “猫很好”(英文)

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

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

2 个答案:

答案 0 :(得分:1)

由于两个字符串都是彼此的翻译,你可以维护一个翻译表,如果你想知道两个字符串是否相同,你可以在你的表中查找它们,如果它们碰巧落在同一行,然后他们是相等的例如

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;

答案 1 :(得分:-2)

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

在这里你可以找到:

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