Гарантирует ли .NET при Select().ToList(), что порядок элементов не изменится?

96
09 апреля 2021, 23:40

Допустим, есть List<SomeObject>, где SomeObject- это какой-то объект с десятком полей.

И есть какой-то метод, который принимает простой список значений string.

=> я делаю data.Select(x=>x.Item2).ToList()

Вопрос в том, что гарантируется ли при создании нового списка, что порядок элементов не поменяется?

Answer 1

Для ToList гарантируется косвенно, через упоминание копирования результатов

You can append this method to your query in order to obtain a cached copy of the query results.

Copy явно подразумевает полную копию, включая порядок элементов последовательности.

Для Select гарантии в документации нет, но на практике он сохраняет порядок, и смена поведения поломает такое количество приложений, что смену порядка никто никогда вводить не будет.

READ ALSO
Парсинг fb2 файла [закрыт]

Парсинг fb2 файла [закрыт]

Хотите улучшить этот вопрос? Добавьте больше подробностей и уточните проблему, отредактировав это сообщение

113
Как правильно повернуть часть объекта, чтобы она следила за другим объектом?

Как правильно повернуть часть объекта, чтобы она следила за другим объектом?

Создал объект состоящий из множества частей, как правильно повернуть одну из частей объекта, чтобы она следила за другим объектом, используя...

102
DoodleJump broken platform

DoodleJump broken platform

Делаю аналог DoodleJump

86