C#中怎么实现一个动态数组,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
数组的容量是固定的,但ArrayList的容量可以根据需要自动扩充。当我们修改了ArrayList的容量时,则可以自动进行内存重新分配和元素复制,比如往1号索引位插入n个元素,插入后,元素的索引依次向后n个位置排列,它是动态版本的数组类型。
ArrayList提供添加、插入或移除某一范围元素的方法。但是在数组中,只能一次获取或设置一个元素的值,如利用索引赋值。
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#中怎么实现一个动态数组问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网行业资讯频道了解更多相关知识。