我的情景,
如何将List<KeyValuePair<string, string>>
转换为IDictionary<string, string>
?
答案 0 :(得分:70)
非常非常简单地使用LINQ:
IDictionary<string, string> dictionary =
list.ToDictionary(pair => pair.Key, pair => pair.Value);
请注意,如果有任何重复的密钥,这将失败 - 我认为没问题?
答案 1 :(得分:8)
或者您可以使用此扩展方法来简化代码:
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);
}
}
答案 2 :(得分:1)
使用ToDictionary()
类的Enumerable
扩展方法。