84 votes

Interface ILookup vs IDictionary

Comment diffère le ILookup<key,value> Interface de IDictionary<key,value> ?

Je ne comprends pas à quoi sert l’interface ILookup .

124voto

BrokenGlass Points 91618

ILookup des entrées peut contenir plusieurs articles par clé - chaque clé est associé à un IEnumerable<TElement>.

Aussi comme évoqué dans les commentaires d'un ILookup est immuable, tandis que vous pouvez mettre à jour les valeurs dans un IDictionary (il expose une Add() méthode et un indexeur qui vous permet d'obtenir et valeurs de réglage).

En résumé, leur cas est très différent - vous utiliser une recherche lorsque vous avez besoin d'un 1:N carte avec des valeurs qui sont fixes et ne va pas (et ne peut pas). Un dictionnaire sur l'offre d'autre part une mutable mappage 1:1 de paires clé-valeur, de sorte qu'il peut être mis à jour pour ajouter ou supprimer des valeurs.

4voto

Daniel A. White Points 91889

C'est beaucoup plus simple que IDictionary . Il est utilisé par Linq. Il n'a que Contains , Item et Count . IDictionary a Add , Remove , etc.

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