Nowhere. As of .NET network versions starting with 2.0, where the generics were be introduced, these classes are rendered obsolete. There were not formally marked with
[Obsolete]
attribute only because for supporting of legacy code they are just fine, but for all new developments they should not be used.
Instead, you need to use
System.Collections.Generic.List<>
:
http://msdn.microsoft.com/en-us/library/6sh2ey19%28v=vs.100%29.aspx[
^].
Instead of the hash table, you can use one (or more) of three generic classes:
http://msdn.microsoft.com/en-us/library/xfhwa508%28v=vs.100%29.aspx[
^],
http://msdn.microsoft.com/en-us/library/f7fta44c%28v=vs.100%29.aspx[
^],
http://msdn.microsoft.com/en-us/library/ms132319%28v=vs.100%29.aspx[
^].
The difference between them are mostly in implementation and different trade-off between speed and
redundancy.
See also:
http://en.wikipedia.org/wiki/Redundancy_%28information_theory%29[
^].
It's not
feasible to explain or list all scenarios of using these collections. They are very basic data structures well known in most elementary computer science which you should learn.
The use if the collection is actually defined by its operation set and information of the
computational complexity of each. To be able to select an appropriate type for a collection, you practically need to know
all of collection classes and collection interfaces. It's important for proper encapsulation, maintenance, etc., to access classes through .NET interfaces where possible, instead of passing the references to the collection classes for direct use.
Well, list is a linear general-purpose collection with random access; think if it as of an array with variable length. The other collections mentioned above are the collection for fast access by the key, which is used as an index, which does not have to be numeric, and does not have to fill a range with consecutive values. Still, this is a search, and its
computational omplexity is of O(1). What you also need it to understand this complexity and the "Big O" notation:
http://en.wikipedia.org/wiki/Computational_complexity_theory[
^],
http://en.wikipedia.org/wiki/Big_O_notation[
^],
http://en.wikipedia.org/wiki/Big_O_in_probability_notation[
^].
—SA