Да, элементы всегда добавляются в конец (если не указано иное, например, при вызове Insert ). Другими словами, если вы делаете:
int size = list.Count;
int index = list.Add(element);
Assert.AreEqual(size, index); // Element is always added at the end
Assert.AreEqual(element, list[index]); // Returned index is position in list
Положение изменится, если вы, конечно, удалите какие-либо более ранние элементы или вставите новые элементы перед ним.
Есть ли для вас веская причина использовать ArrayList
вместо List<T>
? Неуниверсальные коллекции , поэтому 2003 ...
(Кстати, порядок стабилен и в List<T>
.)