Ответ 1
Очень, очень просто с LINQ:
IDictionary<string, string> dictionary =
list.ToDictionary(pair => pair.Key, pair => pair.Value);
Обратите внимание, что это не сработает, если есть дубликаты ключей - я предполагаю, что все в порядке?
Мой сценарий,
как преобразовать List<KeyValuePair<string, string>>
в IDictionary<string, string>
?
Очень, очень просто с LINQ:
IDictionary<string, string> dictionary =
list.ToDictionary(pair => pair.Key, pair => pair.Value);
Обратите внимание, что это не сработает, если есть дубликаты ключей - я предполагаю, что все в порядке?
Или вы можете использовать этот метод расширения для упрощения кода:
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);
}
}
Используйте метод расширения ToDictionary()
класса Enumerable
.