“Groupement”, dictionnaire de la valeur
J'ai un dictionnaire: Dictionary<int,int>
. Je veux obtenir nouveau dictionnaire dont les clés du dictionnaire original représentent que List<int>
. C'est ce que je veux dire:
var prices = new Dictionary<int,int>();
La prices
contenir les données suivantes:
1 100
2 200
3 100
4 300
Je veux obtenir le IList<Dictionary<int,List<int>>>
:
int List<int>
100 1,3
200 2
300 4
Comment puis-je faire cela?
OriginalL'auteur user1260827 | 2012-11-16
Vous devez vous connecter pour publier un commentaire.
désolé de manquer une chose, vous pouvez essayer la requête maintenant. Je l'ai juste essayé de VS et de son travail
Merci. C'est ce dont j'ai besoin.
quelqu'un peut-il expliquer ce qu'est le "ToDictionary" fait ici?
il crée un Dictionnaire, vous pouvez en savoir plus sur Énumérable.ToDictionary
OriginalL'auteur Habib
Voici ma réponse. Lorsque les dictionnaires deviennent grands, vous trouverez probablement le GroupBy() extension des méthodes moins efficaces que vous le souhaitez, car ils offrent de nombreuses garanties que vous n'avez pas besoin, comme le maintien de l'ordre.
Et un exemple d'utilisation dans LinqPad:
OriginalL'auteur Phil Martin
Vous pouvez utiliser GroupBy.
OriginalL'auteur Asif Mushtaq
Vous pouvez utiliser
GroupBy
suivie par leFunc < TSource, TKey>, Func < TSource, TElement>
surcharge deÉnumérable.ToDictionary
:OriginalL'auteur lc.
Dans le cas particulier, lorsque nous utilisons le .NET framework 2.0, on peut le faire comme suit:
OriginalL'auteur Alex N.