202 votes

Sélectionnez un dictionnaire<T1, t2=""> avec LINQ</T1,>

J'ai utilisé la fonction "sélectionner" mot-clé et l'extension de la méthode de retour d'un IEnumerable<T> avec LINQ, mais j'ai besoin de revenir un générique Dictionary<T1, T2> et ne peut pas le comprendre. L'exemple que j'ai appris cela de servir à quelque chose dans une forme semblable à la suivante:

IEnumerable<T> coll = from x in y 
    select new SomeClass{ prop1 = value1, prop2 = value2 };

J'ai aussi fait la même chose avec les méthodes d'extension. Je suppose que depuis les éléments dans un Dictionary<T1, T2> peut être réitéré qu' KeyValuePair<T1, T2> que je puisse simplement remplacer "SomeClass" dans l'exemple ci-dessus avec "new KeyValuePair<T1, T2> { ...", mais cela ne fonctionne pas (la Clé et la Valeur ont été marqués comme étant en lecture seule, donc je ne pouvais pas compiler ce code).

Est-ce possible, ou dois-je le faire en plusieurs étapes?

Merci.

346voto

Quintin Robinson Points 41988

Les méthodes d’extensions fournissent également une extension ToDictionary . C’est assez simple à utiliser, l’utilisation générale est en passant un sélecteur lambda pour la clé et obtention de l’objet comme valeur, mais vous pouvez passer un sélecteur pour la clé et la valeur de lambda.

Puis `` contient la valeur « Hello »

46voto

albertein Points 10821
<pre><code></code><p><code></code><code></code>pour le dictionnaire.</p></pre>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X