C#动态数组对象是较为复杂的数组。我们可以将它看为扩充了功能的数组,但ArrayList并不等同于数组,与数组相比,它以下功能和区别是什么呢?让我们来看看具体的内容吧:
1.数组的容量是固定的,但ArrayList的容量可以根据需要自动扩充。当我们修改了ArrayList的容量时,则可以自动进行内存重新分配和元素复制,比如往1号索引位插入n个元素,插入后,元素的索引依次向后n个位置排列,它是动态版本的数组类型。
2.ArrayList提供添加、插入或移除某一范围元素的方法。但是在数组中,只能一次获取或设置一个元素的值,如利用索引赋值。
3.ArrayList只有一维,而数组可以是多维。
如何声明一个C#动态数组呢?
ArrayList AL=new ArrayList( Capacity );
//初始容量capacity也是可以不写的
原因就是即使不在初识化确定容量,容量不够的时候,会自动的按倍数作扩充。
C#动态数组的常用属性
Capacity
获取或设置ArrayList可包含的元素数。
Count
获取ArrayList中实际包含的元素数。
IsReadOnly
获取一个值,该值表示ArrayList是否为只读。
Item
获取或设置指定索引处的元素。
C#动态数组的常用方法
增加元素-ArrayList.Add(value);利用Add方法增加集合元素值
我们也可以索引增加元素ArrayList[Index]=value;
插入元素-ArrayList.Insert(Index,value);将元素的值value,插入到第Index位置。
删除元素-ArrayList.Clear(); 全部删除集合中的元素
ArrayList.Remove(value);按照集合元素值删除元素
ArrayList.RemoveAt(Index);按照集合的元素索引删除元素
缩减容量-ArrayList.TrimToSize();将集合的容量减少到实际元素个数的大小
在执行删除操作后,要养成良好的缩减容量的习惯,节省内存空间,提高性能。
查找元素-除了按数组的索引查找外,还可以用ArrayList.Contains(value);按照元素值查找集合,如果包含便返回True,不包含时返回False。
C#动态数组的基本情况就向你介绍到这里,希望对你学习和了解C#动态数组有所帮助。
【编辑推荐】