将KeyValuePair列表转换为IDictionary“C#”

时间:2010-10-26 09:26:25

标签: c# idictionary

我的情景,

如何将List<KeyValuePair<string, string>>转换为IDictionary<string, string>

3 个答案:

答案 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扩展方法。