Я какое-то время оглядывался по сторонам и, похоже, не могу найти никакой документации, которая бы касалась моей проблемы.
Мне интересно, стоит ли мне беспокоиться о порядке добавления диапазона к 1003 * в коллекцию. Я могу предположить весь день, что он будет добавлен в последовательном порядке, который я поставил; то есть, если я поставлю 0, 8, 5, 2, 9
, его никогда не следует добавлять в порядке 9, 5, 2, 0, 8
или чего-либо, кроме 0, 8, 5, 2, 9
.
Я запустил тест в консольном приложении, чтобы определить результаты, используя постинкремент в методе AddRange
, например:
List<int> test = new List<int>();
for (int i = 0; i < 30;)
test.AddRange(new int[] { i++, i++, i++ });
foreach (int i in test)
Console.WriteLine(i);
Печатается в последовательном порядке, как я ожидал, от zero
до 29
. Однако меня беспокоит то, что я не могу найти документацию, которая показывает мне, как именно этот диапазон добавляется в коллекцию. Я бы предположил, что это будет что-то вроде:
foreach (int i in range)
collection.Add(i);
Что определенно сохранит любой заказ, который я поставил, но я хотел бы убедиться, что это действительно то, что происходит, или, по крайней мере, то, что происходит, никогда не переупорядочит предоставленный диапазон.
Примечание:
Судя по всему, я сегодня не выпил достаточно кофе и пропустил его, просматривая документацию 1024 * на AddRange
. В любом случае, спасибо всем, по крайней мере, это отличный вопрос для будущих читателей, который может быть любопытным.