Pregunta Convertir la lista de KeyValuePair en IDictionary "C #"


Mi escenario,

cómo convertir List<KeyValuePair<string, string>> dentro IDictionary<string, string>?


36
2017-10-26 09:26


origen


Respuestas:


Muy, muy simplemente con LINQ:

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

Tenga en cuenta que esto fallará si hay claves duplicadas, supongo que está bien.


67
2017-10-26 09:29



O puede usar este método de extensión para simplificar su código:

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

6
2018-05-30 11:58



Utilizar ToDictionary() método de extensión de Enumerable clase.


1
2017-10-26 09:30