标题几乎总结了它。现在我们有List<T>
为什么有人想要使用ArrayList
?我能想到的唯一原因是,在List<T>
实施之前你是否被迫使用旧版本的.NET?
答案 0 :(得分:8)
正如你所说,如果由于某种原因你被.Net 1.1困住,那么你没有选择。
你的问题似乎表明有一个选择。因此,没有理由使用ArrayList
。 ArrayList
可以做的任何事情,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功能一起使用,而我从那以后,我可能会在那里找到一个通用名单。