Порядок arraylist гарантирован в C#.NET?

Это работало для меня со встроенным текстом. Протестировано в FF, Safari, Chrome и Opera

<p>Lorem ipsum dolor sit amet, consectetur <span>Some Text</span> adipiscing elit.</p>


span {
visibility: hidden;
word-spacing:-999px;
letter-spacing: -999px; 
}

span:after {
content: "goodbye";
visibility: visible;
word-spacing:normal;
letter-spacing:normal; 
}
18
задан tvanfosson 26 November 2008 в 15:31
поделиться

5 ответов

Да, элементы всегда добавляются в конец (если Вы не указываете иначе, например, с вызовом к Вставляют ). Другими словами, если Вы делаете:

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> также, между прочим.)

40
ответ дан 30 November 2019 в 06:20
поделиться

Да, это, если некоторая часть Вашего кода не изменяет порядок, например, свопинг.

6
ответ дан 30 November 2019 в 06:20
поделиться

Да это. Так как это хранится как массив.

Другие свойства

  • Гарантируемый порядок
  • Произвольный доступ. Можно получить доступ к любому элементу индексом в O (1)
  • Медленная вставка и удалить в начале и середине.
  • Неотсортированный. (Сортировка должна взять O (n, регистрируют n) использующий quicksort или подобный)
4
ответ дан 30 November 2019 в 06:20
поделиться

Да. [глупый предел длины ответа]

2
ответ дан 30 November 2019 в 06:20
поделиться

Когда Вы добавите объект к ArrayList, объект будет всегда оставаться в том индексе. Если, конечно, если Вы изменяете его.

(платформа могла бы перестроить память, но Ваш индекс будет всегда оставаться таким же)

0
ответ дан 30 November 2019 в 06:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: