13
var rm = new ResourceManager(sometype);

var resourceSet = rm.GetResourceSet(CultureInfo.CurrentUICulture, true, true);

我想将上述资源集转换为字典。目前我正在通过如下循环手动完成。

var resourceDictionary = new Dictionary<string, string>();

foreach (var r in resourceSet)
{
  var dicEntry = (DictionaryEntry)r;
  resourceDictionary.Add(dicEntry.Key.ToString(), dicEntry.Value.ToString());          
}

如何使用 linq 轻松实现这一目标?

4

2 回答 2

39

尝试这个:

var resourceDictionary = resourceSet.Cast<DictionaryEntry>()
                                    .ToDictionary(r => r.Key.ToString(),
                                                  r => r.Value.ToString());
于 2012-06-08T12:14:42.917 回答
2
var resourceDictionary = resourceSet.Select(r => (DictionaryEntry) r)
                                     .ToDictionary(dicEntry => dicEntry.Key.ToString(),
                                                dicEntry => dicEntry.Value.ToString());
于 2012-06-08T12:14:55.200 回答