さまざまな言語の文字列がいくつかあります。例えば:
- 「kot jest dobry」(ポーランド語)
- 「猫はいい」(英語)
これらは、英語からユーザーが選択した言語に翻訳されたボタンのキャプションです。
これらのキャプションをプログラムで比較する最良の方法はどれですか?
両方の文字列は相互に翻訳されているため、翻訳テーブルを維持できます。2 つの文字列が同じかどうかを調べたい場合は、テーブルでそれらを検索するだけで、それらがたまたま同じ行にある場合、それらは次のようになります。たとえば等しい
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;
比較したい文字列が and と呼ばれるfirstString
と仮定しますsecondString
。
.equal() 関数をオーバーライドするか、char 配列に変換してから比較してください。
方法は次のとおりです。