Упорядочение списка <T>и других IEnumerables - PullRequest
4 голосов
/ 04 июля 2010

Можно ли полагаться на то, что перечисление элементов списка осуществляется в порядке их добавления?

Кто-нибудь знает, что спецификация говорит об этом?

Спасибо!

Ответы [ 3 ]

7 голосов
/ 04 июля 2010

Для List<T>, да, вы можете зависеть от порядка.

Это природа структуры списка, где элементы упорядочены по индексу.Перечисление всегда происходит в порядке индекса.

7 голосов
/ 04 июля 2010

Это будет зависеть от реализации.Вот хороший обзор различных общих коллекций.Что касается реализации List<T>, перечисление будет выполняться в том же порядке, в котором были добавлены элементы.

1 голос
/ 04 июля 2010

в порядке их вставки

Это неловкий язык в вашем вопросе.List <> действительно поддерживает вставки в любом месте списка с помощью метода Insert ().Нет, перечисление производит порядок списка, а не порядок вставки.Если бы в вопросе было сказано «по порядку их дополнений» (метод Add), то ответ - да.

...