一尘不染

C#中的ArrayList与List <>

c#

ArrayListList<>C#和有什么不一样?

是只有List<>一种类型而ArrayList没有吗?


阅读 484

收藏
2020-05-19

共1个答案

一尘不染

是的,差不多。List<T>是泛型类。它支持存储特定类型的值,而无需进行强制转换object(如果T是值类型,则将产生装箱/拆箱开销ArrayList)。ArrayList简单地存储object引用。作为一个通用的集合,List<T>实现了通用IEnumerable<T>接口,并且可以在LINQ容易地使用(而不需要任何CastOfType呼叫)。

ArrayList属于C#没有泛型的日子。不推荐使用List<T>ArrayList除非必须与使用它的旧API交互,否则不要在面向.NET>
= 2.0的新代码中使用。

2020-05-19