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 に答える