ArrayLists有什么坏处?

时间:2013-06-21 15:16:41

标签: c# arraylist

我正在努力增强公司的平台,在我的研究过程中,我发现很多人都说应该避免使用ArrayLists。然而,他们从来没有给出太多解释为什么,我找不到任何关于他们为何如此可怕的文章。

4 个答案:

答案 0 :(得分:3)

“Arraylists”(有时也称为“vector”)是完美的数据结构;只是ArrayList是一个应该在C#中避免使用的类。

原因是它不是通用的,因此您可以在其中存储任何object,从而打破类型安全。
请改用List<T>

答案 1 :(得分:2)

因为他们没有强类型。它们是一个可以存放任何东西的包。这意味着你必须在检索元素时进行强制转换。这也意味着在存储和检索值时可能存在或不存在装箱/拆箱。

答案 2 :(得分:1)

他们不是通用的。 List完全相同,但它是通用的。这意味着您要确保对象都是常见类型,并且该约束由编译器强制执行。它还避免了值类型的装箱。

答案 3 :(得分:0)

这并不像痛苦那么可怕。把它们想象成List,有点像,等等。

因此,您必须添加许多规则来强制集合中的一致性,并“在任何地方”使用它们,或者处理由于没有一致性导致的错误,“无处不在”

所以需要很多额外的代码,或者你的手指非常紧张,并希望没有“愚蠢”的程序员在那里放置一些你无法处理的东西。

如果你的收藏品可以包含任何东西,那就坚持下去,不过我个人会说,如果确实如此,那几乎肯定存在某种主要的设计缺陷。