2010-10-26 15 views

Antwort

62

Sehr, sehr einfach mit LINQ:

IDictionary<string, string> dictionary = 
    list.ToDictionary(pair => pair.Key, pair => pair.Value); 

Beachten Sie, dass dies nicht gelingen wird, wenn es irgendwelche doppelte Schlüssel sind - Ich gehe davon aus, dass in Ordnung ist?

1

Verwenden Sie ToDictionary() Erweiterungsmethode der Enumerable Klasse.

6

Oder Sie können diese Erweiterung Methode verwenden, um Ihren Code zu vereinfachen:

public static class Extensions 
{ 
    public static IDictionary<TKey, TValue> ToDictionary<TKey, TValue>(
     this IEnumerable<KeyValuePair<TKey, TValue>> list) 
    { 
      return list.ToDictionary(x => x.Key, x => x.Value); 
    } 
}