在C#.NET中是否保证了arraylist的顺序?

ada*_*box 18 .net c# arraylist

如果我在C#.NET中使用ArrayList,订单是否保证与我向其添加项目的顺序保持一致?

Jon*_*eet 40

是的,元素总是添加到最后(除非您另行指定,例如调用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
Run Code Online (Sandbox Code Playgroud)

如果您删除任何早期元素或在其前面插入新元素,位置将会改变.

你是否有充分的理由ArrayList而不是List<T>顺便使用?非泛型集合是如此 2003 ...

(List<T>顺便说一下,顺序也是稳定的.)

  • "非通用集合是如此......" - LOL,很好的一个Jon,这就像我对本周的引用一样:) (2认同)

Bar*_*lly 6

是的,除非您的某些代码通过交换更改订单.