The uses of
is related to the fact that it supports lookup of an element of collection by some key with the computational complexity
of O(1); that is, the time of search asymptotically does not grow with growing the size of the collection but remains approximately the same on average, with big collections.
Also, the type support uniqueness of the key in the scope of collection.
The problem with this type in .NET is that its is the obsolete because it is not generic
, which required potentially error-prone type casts. There is no reason to ever use it in any new development
, because generics were introduced in .NET Framework v.2.0, and using earlier .NET version hardly makes any sense. This type was not formally marked with
attribute just because there is nothing wrong with keeping it in existing and well working legacy code.
In any new development, you should to use any of the three generic types instead of
These classes are different majorly by different trade-off between performance and redundancy.