如果我在C#.NET中使用ArrayList,订单是否保证与我向其添加项目的顺序保持一致?
答案 0 :(得分:39)
是的,元素总是添加到最后(除非您另行指定,例如通过调用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>
?非泛型集合 so 2003 ...
(顺便说一句,顺序在List<T>
也是稳定的。)
答案 1 :(得分:6)
是的,除非您的某些代码更改了订单,例如交换。
答案 2 :(得分:4)
是的。因为它存储为数组。
其他属性
答案 3 :(得分:2)
是。 [傻回答长度限制]
答案 4 :(得分:0)
当您将项目添加到ArrayList时,该项目将始终保留在该索引处。当然,除非你改变它。
(框架可能会重新安排内存,但您的索引将始终保持不变)