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包含与 in 匹配的键,则 inspecDic的相应值specDic将被 from 的值覆盖(或替换)newDic

specDic没有对应值的值(键)newDic将保持原样。

于 2013-10-23T12:06:06.193 回答