0

Dictionary<string, string> specDicリソース文字列を持っています。<Key,Value>アプリの言語を変更するDictionary<string, string> newDicと、新しい言語の文字列が新しくなりましたがnewDic、specDic に既にあるキーがない場合があります。つまり、翻訳されていません。見つからないキーを上書きせずに上書きする必要があります。次のことを試しましたspecDicnewDic

    foreach (var item in newDic)
    {
        specDic[item.Key] = item.Value;
    }

しかし、私は自分がやったことを気に入っていません。誰かがlinqなどを使って新しい方法を提案できますか?

ありがとう

4

1 に答える 1

1

ロジックを変えて、代わりに元の辞書から各キーを探します。

foreach (var key in specDic.Keys)
{
    if (newDic.ContainsKey(key))
    {
        specDic[key] = newDic[key];
    }
}

ここで、newDicのキーに一致するキーが含まれている場合specDic、 の対応する値は の値でspecDic上書き (または置き換え) されますnewDic

specDicに対応する値がない値 (キー)newDicはそのまま残ります。

于 2013-10-23T12:06:06.193 に答える