Summary: Successor to ArrayList offers generally better performance, see caution on size below

List<T>


List<T> offers generally better performance than ArrayList as well as type safety. We recommend using List<T> over System.Collections.ArrayList always if T is a reference type. If T is a value type there is additional cost assocated with creating a specialized version of List<T> for that value type. When T would be a value types we recommend List<T> if the savings in boxing is greater than the cost of the additional code -- this tends to happen if you store about 500 elements across all your List<T> objects.

See also: PerfSystemCollectionsGeneric

--RicoM



Even where T is a value type you are better off using List<T> rather than creating your own strongly typed collection. If using ArrayList\IList is sufficient and the boxing concerns are not an issue, then as Rico says stick with those.

--BradA
Microsoft Communities