Возможный дубликат:
В чем разница между IEnumerable и Array, IList и List?
Какая разница между двумя вышеуказанными?
Возможный дубликат:
В чем разница между IEnumerable и Array, IList и List?
Какая разница между двумя вышеуказанными?
A List<string> представляет собой конкретную реализацию IEnumerable<string>. Разница в том, что IEnumerable<string> является просто последовательностью string, но List<string> индексируется индексом int, может быть добавлен и удален из и вставлен в определенный индекс.
В принципе, интерфейс IEnumerable<string> позволяет передавать поток string в последовательности, но List<string> позволяет вам делать это, а также изменять и получать доступ к элементам в списках определенными способами. IEnumerable<string> - это общая последовательность string, которая может быть итерирована, но не допускает случайного доступа. A List<string> - это специальная коллекция переменных размеров с произвольным доступом.
различны.
IEnumerable позволяет выполнять итерацию с помощью цикла for для каждого цикла.
И IEnumerable просто имеет метод GetEnumerator.
И в списке реализовано много интерфейсов, таких как IEnumerable, Ilist и т.д. Так много функций в List.
В производительности IEnumerable быстрее, чем List.
IEnumerable<T> - это интерфейс. Он должен быть реализован.
List<T> - это одна реализация IEnumerable<T>
Один - это интерфейс: http://msdn.microsoft.com/en-us/library/9eekhta0.aspx
Другой класс, реализующий этот интерфейс: http://msdn.microsoft.com/en-us/library/6sh2ey19.aspx
Кроме того, List - это массив, который растет, когда вы добавляете в него элементы, в то время как IEnumerable позволяет разработчикам использовать их в foreach.
Первый представляет собой конкретный List строк, другой - любой класс, реализующий IEnumerable<string>