




Да, это так, если какой-либо фрагмент вашего кода не изменит порядок, например, свопинг.
Да, элементы всегда добавляются в конец (если вы не укажете иное, например, с помощью вызова Вставлять). Другими словами, если вы это сделаете:
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>.)
да. [ограничение длины глупого ответа]
Когда вы добавляете элемент в ArrayList, он всегда остается в этом индексе. Если конечно если его поменять.
(структура может переупорядочить память, но ваш индекс всегда останется прежним)
Да, это так. Поскольку он хранится в виде массива.
Другие свойства
«Неуниверсальные коллекции такие 2003 ...» - LOL, милый Джон, это моя цитата недели :)