List<Object>是ArrayList的好替代品吗?



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

我在其中存储自定义类的实例。

什么是好的替代品- List<Object>,还是有更合适的东西?

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

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

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

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

问题是:你为什么要用ArrayList开始?如果您来自于。net泛型版本之前的版本,那么您可能别无选择。你要么有强类型数组(大小恒定),要么有ArrayList,它在大小上是动态的,但在类型上过于"通用"。它可以存储任何东西

现在,有了新的。net和c#版本,是时候让这一切都过去了。

(关于"。net和c#版本"的评论:显然这里的"新"并不像2014-new那样新,但与使用ArrayList相比,OP从泛型中学到的任何教科书或源代码都是"新"的。)

你希望你的集合是强类型的。它使您的生活更轻松,因为您知道哪些字段/属性/成员可用于集合项等。

因此,您需要做的是找出元素的类型是什么,并将集合设置为List<BaseType>或类似的类型,这将使您的工作变得更加轻松。

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

相关内容

  • 没有找到相关文章

最新更新