为list 一个很好的替代ArrayList的?(Is List<Object>

2019-11-03 02:22发布

ArrayList ,这是我在传统Compact Framework的代码中使用,似乎并不在新奇(.NET 4.5.1)代码可用。

我保存的自定义类的实例吧。

什么是一个很好的替代它- List<Object> ,或者是有什么更适合?

Answer 1:

作为@HighCore在他的评论中提到的,你应该使用列表中,一般形式List<T> 如果你有几个类中定义,你需要在列表中包含的,他们可能有共同的属性,方法。 在这种情况下,你可以使一个abstract类的组类。

List<Object>是一个可能的替代品,但不是一个好一个。



Answer 2:

是的, List<object>是一个很好的替代 ArrayList

如果你想有一个可以存储任何一个列表类型,您可以使用ArrayListList<object>作为集合类型。 这将有同样的表现和行为特征。

问题是这样的:你为什么要使用ArrayList开始与? 如果你从预仿制药版本的.NET的未来,那么你可能别无选择。 你要么有强类型数组(其大小为常数),或者你ArrayList是在大小动态的,但在类型过于“普通”。 它可以存储任何东西。

现在,随着新的.NET和C#的版本,它的时间,让所有去。

(关于关于“净.NET和C#版”评论:显然是“新”在这里是不是新在2014年新的,但比起任何教科书或源代码的OP从仿制药学到的是“新”相比,使用ArrayList 。)

您希望您的藏品是强类型。 既然你知道哪些字段/属性/成员都可以在收集等项目它使您的生活更轻松

因此,你想要做的是要弄清楚你的元素的基本类型是,使收集List<BaseType>或类似的,这会让你的生活轻松许多。

如果你存储了一堆整数,使用List<int> 。 如果你存储一串字符串,使用List<string> 。 如果你存储了一堆类型的对象SomeCustomObject ,使用List<SomeCustomObject



文章来源: Is List a good replacement for ArrayList?