C#中动态添加数组长度,且保持原有数组中的数值不丢失
答案:2 悬赏:10 手机版
解决时间 2021-01-04 05:49
- 提问者网友:放下
- 2021-01-04 00:20
C#中动态添加数组长度,且保持原有数组中的数值不丢失
最佳答案
- 五星知识达人网友:杯酒困英雄
- 2021-01-04 01:18
数组(Array)是不可以改变长度的。
只能重新创建一个数组,然后将原有数组拷贝到新数组。
int[] arr = new int[10];
int[] newArr = new int[arr.Length + 10];
arr.CopyTo(newArr, 0);
arr = newArr;
可以考虑使用数组列表(ArrayList )。
ArrayList 是数组的复杂版本。ArrayList 类提供在大多数 Collections 类中提供但不在 Array 类中提供的一些功能。例如:
Array 的容量是固定的,而 ArrayList 的容量是根据需要自动扩展的。如果更改了 ArrayList.Capacity 属性的值,则自动进行内存重新分配和元素复制。
只能重新创建一个数组,然后将原有数组拷贝到新数组。
int[] arr = new int[10];
int[] newArr = new int[arr.Length + 10];
arr.CopyTo(newArr, 0);
arr = newArr;
可以考虑使用数组列表(ArrayList )。
ArrayList 是数组的复杂版本。ArrayList 类提供在大多数 Collections 类中提供但不在 Array 类中提供的一些功能。例如:
Array 的容量是固定的,而 ArrayList 的容量是根据需要自动扩展的。如果更改了 ArrayList.Capacity 属性的值,则自动进行内存重新分配和元素复制。
全部回答
- 1楼网友:逃夭
- 2021-01-04 02:31
楼主你好~
数组(array)的容量在声明的时候已经确定了,是不能改变的。
楼主可以使用arraylist来作为数组的代替,这是可变长度的数组容器,调用add之类的方法来动态添加成员。
而arraylist的性能并不是很高且不支持多维数组,所以推荐使用泛型支持的list。
更加复杂的情况,比如维数不定容器等请自行构造容器类。
请追问~
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
正方形一边上任一点到这个正方形两条对角线的 |
阴历怎么看 ? |