一尘不染

为什么ArrayList没有标记为[过时]?

c#

经过一番深思熟虑并研究了它的实现ArrayList,我个人真的很想说
这已经过时了,我没有理由在2.0之后使用此类
。但是由于未将其标记为[Obsolete],所以有没有我不知道的用法,比使用泛型类更好吗?如果是,请举一个例子。谢谢。

编辑
让我们以List<T>一个示例为例,它提供的所有功能ArrayList,并且它是强类型的。那么什么时候需要使用ArrayList呢?也许有时候它有更好的表现?我不知道。如果您能给我看一些特别的东西,我将不胜感激ArrayList


阅读 408

收藏
2020-05-19

共1个答案

一尘不染

我认为对于新代码而言,它应该实际上已经过时了,但是没有令人信服的理由将其标记为过时并在2.0发行之前编写的所有代码中创建警告。

以我的经验,大多数被Microsoft标记为过时的类型和成员在某些方面都是非常危险的,如果您仍然有使用它们的代码库,则应予以修复。尽管使用起来ArrayList很痛苦,并且(至少在理论上)倾向于在执行时而不是在编译时发现与类型相关的错误,但是类型可以很好地完成其工作……通常并没有令人信服的理由来更改现有代码。当我碰巧正在使用某个代码区域时,通常会考虑这种更改ArrayList,而不是主动寻找它的每种用法。

2020-05-19