From: csdn-vrhero
IEnumerable indicates that the object is a collection of uncertain types and supports simple iteration. It doesn't matter if it is fixed length...
IEnumerable <T> indicates that the object is a set of the specified type and supports simple iteration. It doesn't matter whether the set length is...
ICollection is a derived interface of the IEnumerable interface. It indicates that the object is a set of uncertain types and supports simple iteration. It also defines the set size, enumeration number, and synchronization method, the size here refers to whether it can be fixed or not long...
IList is a derived interface of ICollection and IEnumerable. It indicates that the object is a set of uncertain types and supports simple iteration. It also defines the set size, enumeration number, and synchronization method, it can also be accessed separately based on the index. The size here can be fixed length or variable length...
The ArrayList class is the implementation of the IList interface, indicating that the object is an array of uncertain type sizes that can be dynamically increased as needed...
The List <T> class is the implementation of the IList <T> interface. It is a generic equivalent class of the ArrayList class and enhances its functionality, indicates that the object is a list of strong types of objects that can be accessed through indexes... in. NET 2.0 or above can completely replace ArrayList, that is, ArrayList has been eliminated...
Dynamic Arrays and linked lists are essentially different... in. NET 2.0 and above have two-way linked list lists <T> generic classes, which are also inherited from ICollection <T>, IEnumerable <T>, ICollection, IEnumerable...