2

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

4

4 回答 4

4

“Arraylists”(有时也称为“vectors”)是非常好的数据结构;这只是ArrayListC# 中应该避免的一个类。

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

于 2013-06-21T15:17:59.760 回答
2

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

于 2013-06-21T15:18:03.940 回答
1

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

于 2013-06-21T15:18:09.033 回答
0

它不像痛苦那么可怕。把它们想象成列表,有点像。

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

所以有很多额外的代码,或者你真的很紧张,希望没有“愚蠢的”程序员会在里面放一些你无法处理的东西。

如果你的收藏可以包含任何东西,那就坚持下去,尽管我个人会说,如果是这样,几乎可以肯定存在某种重大的设计缺陷。

于 2013-06-21T15:32:09.650 回答