C# []、Array、List、ArrayList 区别

来源:互联网 发布:知识抽取 非结构化数据 编辑:程序博客网 时间:2024/06/10 12:36

[]是针对特定类型、固定长度的。

Array是针对任意类型、固定长度的。

List是针对特定类型、任意长度的。

ArrayList是针对任意类型、任意长度的。ArrayList是数组的复杂版本。ArrayList 类提供在大多数 Collections 类中提供但不在 Array 类中提供的一些功能。

Array的容量是固定的,而ArrayList的容量是根据需要自动扩展的。如果更改了ArrayList.Capacity属性的值,则自动进行内存重新分配和元素复制。ArrayList提供添加、插入或移除某一范围元素的方法。

在Array中,您只能一次获取或设置一个元素的值。使用Synchronized 方法可以很容易地创建ArrayList的同步版本。而Array将一直保持它直到用户实现同步为止。

ArrayList提供将只读和固定大小包装返回到集合的方法。而Array不提供。

Array提供 ArrayList所不具有的某些灵活性。例如:

  •  可以设置 Array的下限,但ArrayList的下限始终为零。
  •  Array可以具有多个维度,而ArrayList始终只是一维的。

特定类型(不包括Object)的Array的性能比ArrayList要好,这是因为 ArrayList的元素属于Object类型,所以在存储或检索值类型时通常发生装箱和取消装箱。

要求一个数组的大多数情况也可以代之以使用ArrayList。它更易于使用,并且通常具有与Object类型的数组类似的性能。

Array位于System命名空间中;ArrayList位于System.Collections 命名空间中。

 

0 0
原创粉丝点击