2012-06-08 6 views
8
var rm = new ResourceManager(sometype); 

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

Ich möchte den obigen Ressourcensatz in Wörterbuch konvertieren. Momentan mache ich manuell durch Schleifen wie unten.Konvertieren eines Ressourcensatzes in ein Verzeichnis unter Verwendung von linq

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

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

Wie kann ich erreichen, dass einfach mit Linq?

Antwort

29

Versuchen Sie folgendes:

var resourceDictionary = resourceSet.Cast<DictionaryEntry>() 
            .ToDictionary(r => r.Key.ToString(), 
                r => r.Value.ToString()); 
+1

völlig vergessen haben, dieses 'Cast <>()' Methode! – superjos

2
var resourceDictionary = resourceSet.Select(r => (DictionaryEntry) r) 
            .ToDictionary(dicEntry => dicEntry.Key.ToString(), 
               dicEntry => dicEntry.Value.ToString()); 
Verwandte Themen