2010-10-26 3 views

ответ

62

Очень, очень просто с помощью LINQ:

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

Обратите внимание, что это не сработает, если есть какие-либо ключи дублирующие - Я полагаю, что это нормально?

1

Использование ToDictionary() метод расширения класса Enumerable.

6

Или вы можете использовать этот метод расширения, чтобы упростить код:

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); 
    } 
}