Returning List<T>
has the advantage that those methods of List<T>
that are not part of IList<T>
are easily used. There are a lot of things you can do with a List<T>
that you cannot do with a IList<T>
.
In contrast, Lookup<TKey, TElement>
has only one available method that ILookup<TKey, TElement>
does not have (ApplyResultSelector
), and you probably would not end up using that anyway.