Ho usato la parola chiave "select" e il metodo di estensione per restituire un IEnumerable<T>
con LINQ, ma ho bisogno di restituire un generico Dictionary<T1, T2>
e non riesco a capirlo. Nell'esempio che ho imparato da ciò ho usato qualcosa in una forma simile alla seguente:
IEnumerable<T> coll = from x in y
select new SomeClass{ prop1 = value1, prop2 = value2 };
Ho anche fatto la stessa cosa con i metodi di estensione. Ho assunto che dal momento che gli elementi in a Dictionary<T1, T2>
possono essere ripetuti in quanto KeyValuePair<T1, T2>
potrei semplicemente sostituire "SomeClass" nell'esempio sopra con " new KeyValuePair<T1, T2> { ...
", ma non ha funzionato (Key e Value sono stati contrassegnati come di sola lettura, quindi non ho potuto compilare questo codice ).
È possibile o devo farlo in più passaggi?
Grazie.
.ToDictionary(item => item.prop1, item => item.prop2);
per esplicitamente impostare anche il valore.