我正在尝试做一个简单的操作,即在读取.resx文件后向字典中添加项目。resx文件的第一行是Name: Button和Value: Convertir。我看到,为了执行一个foreach循环,该项被添加到字典trans中两次,并使用翻转后的键值对。即Count {Button,Convertir}和Count1 {Convertir,Button}。
我只想将项目添加为{Button,Convertir}一次。Dicitionay _translations也是如此。
下面是这段代码。
private void Add2Dictionary(CultureInfo cultureInfo, Assembly assembly, ResXResourceReader rsxr)
{
Dictionary<string, string> trans = new Dictionary<string, string>();
_translations[cultureInfo] = trans;
foreach (DictionaryEntry entry in rsxr)
{
string Key = entry.Key.ToString();
string Value = entry.Value == null ? string.Empty : entry.Value.ToString();
trans.Add(Key, Value);
_translations[_enCultureInfo].Add(Value, Key);
}
}
其中,_translationscultureInfo为以下类型,cultureInfo的值为es-US
Dictionary<CultureInfo, Dictionary<string, string>> _translations = new Dictionary<CultureInfo, Dictionary<string, string>>();
请帮我引路。
发布于 2019-10-11 16:10:24
您正在添加它两次,一次是添加到trans字典中,另一次是添加到_translations字典中
trans.Add(Key, Value);
//The value in _translations is a Dictionary, so this assigns the dictionary to the key _enCultureInfo
_translations[_enCultureInfo] = trans;
我不确定这是否是你想要的,但是根据你的问题和变量声明,这可能就是你想要的。
编辑:再看一遍,我不确定您是否需要_translations中的值是一个字典,还是您打算让它成为一个简单的List<string>
https://stackoverflow.com/questions/58344786
复制相似问题