Подтвердить что ты не робот

Какая разница между List <string> и IEnumerable <String>?

Возможный дубликат:
В чем разница между IEnumerable и Array, IList и List?

Какая разница между двумя вышеуказанными?

4b9b3361

Ответ 1

A List<string> представляет собой конкретную реализацию IEnumerable<string>. Разница в том, что IEnumerable<string> является просто последовательностью string, но List<string> индексируется индексом int, может быть добавлен и удален из и вставлен в определенный индекс.

В принципе, интерфейс IEnumerable<string> позволяет передавать поток string в последовательности, но List<string> позволяет вам делать это, а также изменять и получать доступ к элементам в списках определенными способами. IEnumerable<string> - это общая последовательность string, которая может быть итерирована, но не допускает случайного доступа. A List<string> - это специальная коллекция переменных размеров с произвольным доступом.

Ответ 2

различны.

IEnumerable позволяет выполнять итерацию с помощью цикла for для каждого цикла.

И IEnumerable просто имеет метод GetEnumerator.

И в списке реализовано много интерфейсов, таких как IEnumerable, Ilist и т.д. Так много функций в List.

В производительности IEnumerable быстрее, чем List.

Ответ 3

IEnumerable<T> - это интерфейс. Он должен быть реализован.

List<T> - это одна реализация IEnumerable<T>

Ответ 4

Один - это интерфейс: http://msdn.microsoft.com/en-us/library/9eekhta0.aspx

Другой класс, реализующий этот интерфейс: http://msdn.microsoft.com/en-us/library/6sh2ey19.aspx

Кроме того, List - это массив, который растет, когда вы добавляете в него элементы, в то время как IEnumerable позволяет разработчикам использовать их в foreach.

Ответ 5

Первый представляет собой конкретный List строк, другой - любой класс, реализующий IEnumerable<string>