C#是否有理由再使用ArrayList而不是List <t>?</t>

时间:2010-11-22 23:11:43

标签: c# list arraylist

标题几乎总结了它。现在我们有List<T>为什么有人想要使用ArrayList?我能想到的唯一原因是,在List<T>实施之前你是否被迫使用旧版本的.NET?

5 个答案:

答案 0 :(得分:8)

正如你所说,如果由于某种原因你被.Net 1.1困住,那么你没有选择。

你的问题似乎表明有一个选择。因此,没有理由使用ArrayListArrayList可以做的任何事情,List<T>也可以,即使不是更好。

答案 1 :(得分:4)

简短的回答,没有。 ArrayList来自.NET不支持泛型的时候。 List是处理列表的更灵活(通用)方式。事实上,我认为Silverlight根本不支持ArrayLists。

答案 2 :(得分:1)

ArrayList主要用于向后兼容。在有截止日期的项目中,您可能有时间将所有内容从ArrayList转换为通用List。

另一个原因是您可能正在使用.NET 1.1编写的库。因此,您可以强制在代码中使用ArrayList,并且很可能将其转换为通用List以便于编码。

但是,存在一些差异,您可能需要阅读: .NET: ArrayList vs List

答案 3 :(得分:0)

你自己说:向后兼容性。它已经没有用了,但它显然无法从BCL中删除,因为它会破坏现有代码,无论出于何种原因必须针对.NET 1.1进行编译。

答案 4 :(得分:0)

时间我曾经使用过ArrayList,因为.Net 2.0与vb.net中的内置My.Settings功能一起使用,而我从那以后,我可能会在那里找到一个通用名单。