我应该使用ArrayList还是IList

时间:2010-03-18 20:42:43

标签: c# arraylist ilist

我正在使用.NET framework 1.1,我希望有人可以帮我实现动态的对象数组?

我希望使用的对象的淡化示例如下。

Class CarObj
{
   public string CarName;
   public string CarYear;
}

我应该使用ArrayList还是你认为制作一个CarList类来实现IList接口会更好?一个人对另一个人有性能上的好处吗?

3 个答案:

答案 0 :(得分:4)

继承CollectionBase;这包装IList并允许您提供自己需要的类型化方法的实现。这就是它的设计目标:)

答案 1 :(得分:1)

如果您使用1.1并且需要动态数组样式集合,那么ArrayList是让您感动的最佳选择。

我确实讨厌使用ArrayList附带的所有转换,但我当然不会因为编写在1.1中强有力地实现成员的自定义集合而造成错误。但是,如果你走这条路线我会建议使用自定义生成器与繁琐的手动编码。有几种可以通过谷歌快速找到

例如,这个链接实际上会在网站上为您生成代码,只需将其复制并粘贴到您的项目中即可。

答案 2 :(得分:0)

实现自己的集合类的主要好处(因为你被卡在1.1中)是类型安全;如果您确定您的集合只能包含CarObj个实例,则无需进行类型转换或担心转换错误。在内部,此集合类可以使用ArrayList来存储对象。