Допустим, есть List<SomeObject>, где SomeObject- это какой-то объект с десятком полей.
И есть какой-то метод, который принимает простой список значений string.
=> я делаю data.Select(x=>x.Item2).ToList()
Вопрос в том, что гарантируется ли при создании нового списка, что порядок элементов не поменяется?
Для ToList гарантируется косвенно, через упоминание копирования результатов
You can append this method to your query in order to obtain a cached copy of the query results.
Copy явно подразумевает полную копию, включая порядок элементов последовательности.
Для Select гарантии в документации нет, но на практике он сохраняет порядок, и смена поведения поломает такое количество приложений, что смену порядка никто никогда вводить не будет.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей