I don’t understand what the
ILookup interface is meant for.
ILookup entries can contain multiple items per key – each key is mapped to an
Also as hinted to in the comments an
ILookup is immutable, while you can update values in an
IDictionary (it exposes an
Add() method and an indexer that allows getting and setting values).
In summary their use case is very different – you use a lookup when you need a 1:N map with values that are fixed and won’t (and can’t) change. A dictionary on the other hand offers a mutable 1:1 mapping of key value pairs, so it can be updated to add or remove values.
It is much more simpler than
IDictionary. It is used by Linq. It only has