是的,差不多.List<T>
是一个通用类.它支持存储特定类型的值,而无需向object
转换或从object
转换(在ArrayList
情况下,如果T
是值类型,则会产生装箱/拆箱开销).ArrayList
只存储object
个引用.作为一个通用集合,List<T>
实现了通用IEnumerable<T>
接口,可以在LINQ中轻松使用(无需任何Cast
或OfType
调用).
ArrayList
belongs to the days that C# didn't have generics. It's deprecated in favor of List<T>
. You shouldn't use ArrayList
in new code that targets .NET >= 2.0 unless you have to interface with an old API that uses it.