Quelle est la différence entre LINQ ToDictionary et ToLookup? Ils semblent faire la même chose.
Un dictionnaire est une carte 1: 1 (chaque clé est mappée à une seule valeur), et un dictionnaire est modifiable (modifiable) après coup.
Une recherche est une carte 1: many (multi-map; chaque clé est mappée à une IEnumerable<>
des valeurs avec cette clé), et il n’y a pas de mutation sur l’ ILookup<,>
.
En parallèle, vous pouvez interroger une recherche (via l’indexeur) sur une clé qui n’existe pas et vous obtiendrez une séquence vide. Faites la même chose avec un dictionnaire et vous obtiendrez une exception.
Donc, combien de disques partagent chaque clé?
Une manière trop simplifiée de regarder est que Lookup
est à peu près comparable à un Dictionary
ToDictionary est