Если вы посмотрите на определения трех (см. Ниже), вы заметите, что List
реализует Enumerable
и ICollection
, а ICollection
реализует IEnumerable
. Более четко:
List
- это CLASS , в котором может храниться переменное количество элементов одного типа плюс функциональность, заданная двумя другими интерфейсами.
ICollection
- это интерфейс, который определяет общий способ управления коллекциями. ПРИМЕЧАНИЕ: это интерфейс и, следовательно, он НЕ может быть создан.
IEnumerable
- это интерфейс, который определяет способ перебора коллекции. ПРИМЕЧАНИЕ: это интерфейс и, следовательно, он НЕ может быть создан.
Список
Представляет строго типизированный список объектов, к которым можно получить доступ по индексу. Предоставляет методы для поиска, сортировки и управления списками.
public class List<T> : IList<T>, ICollection<T>,
IEnumerable<T>, IList, ICollection, IEnumerable
ICollection
Определяет методы для управления общими коллекциями.
public interface ICollection<T> : IEnumerable<T>,
IEnumerable
IEnumerable
Предоставляет перечислитель, который поддерживает простую итерацию для коллекции указанного типа.
public interface IEnumerable<out T> : IEnumerable