Reference
.net - ArrayList vs List<> in C# - Stack Overflow — .net - C# 中的 ArrayList 与 List<> - 代码日志
正文
List<T>
:List<T>
是泛型集合类,其中的<T>
表示集合中存储的元素类型。例如,List<int>
表示存储整数类型的集合。- 使用
List<T>
可以获得类型安全性,因为在编译时就能够确定集合中元素的类型,并且不需要进行类型转换。 List<T>
提供了丰富的方法和属性来操作集合,例如Add
、Remove
、Count
等。- 在大多数情况下,推荐使用
List<T>
,因为它提供了更好的性能和类型安全。
ArrayList
:ArrayList
是非泛型集合类,它可以存储任意类型的对象,因为它内部存储的是object
类型。- 在使用
ArrayList
存储元素时,需要进行**显式的类型转换(可能有装箱拆箱)**,因为取出的元素类型是object
,需要将其转换为实际的类型。 ArrayList
的优点是在早期版本的 .NET 中是唯一可用的动态数组类型,但是它的使用已经被泛型集合类所取代。- 如果你需要与旧版本的 .NET 代码交互,可能会遇到
ArrayList
,但在新的开发中,推荐使用List<T>
。
总的来说,List<T>
是更现代、更安全、更高效的集合类,应该优先选择使用它。ArrayList
在现代的 C# 开发中已经很少使用了,主要用于与旧版代码的兼容性或特殊情况下的处理。