C#中动态添加数组长度,且保持原有数组中的数值不丢失

如题所述

第1个回答  推荐于2016-10-16
数组(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 属性的值,则自动进行内存重新分配和元素复制。本回答被提问者采纳

C#中动态添加数组长度,且保持原有数组中的数值不丢失
数组(Array)是不可以改变长度的。只能重新创建一个数组,然后将原有数组拷贝到新数组。int[] arr = new int[10];int[] newArr = new int[arr.Length + 10];arr.CopyTo(newArr, 0);arr = newArr;可以考虑使用数组列表(ArrayList )。ArrayList 是数组的复杂版本。ArrayList 类提供在大多数 ...

C#中动态添加数组长度
数组(Array)的容量在声明的时候已经确定了,是不能改变的。楼主可以使用ArrayList来作为数组的代替,这是可变长度的数组容器,调用Add之类的方法来动态添加成员。而ArrayList的性能并不是很高且不支持多维数组,所以推荐使用泛型支持的List<T>。更加复杂的情况,比如维数不定容器等请自行构造容器类。请追问~...

用C#编写程序,生成一个长度为10的数组,然后向数组随记插入1-10,要求...
int j = 0;ArrayList iList = new ArrayList();for (int i = 0; i < 10; i++){ Random rd = new Random();do { j = rd.Next(1, 11);} while (iList.Contains(j));iList.Add(j);} foreach (int iRand in iList){ Console.WriteLine(iRand);} ...

C#如何动态设置字符串数组长度
能是能,只是你用错了方式!int i;string[]a=new string[i];把那对大括号去掉,就对了。声明数组的方式,楼主还是要加强。

c#问题,主调函数传过来一个数组,如何修改数组内容但是使得原始数组内 ...
static void func(int[] arr){ Array.Sort(arr);}

用C#编写程序,生成一个长度为10的数组,然后向数组随记插入1-10,要求...
如果随机不到某一个数字,岂不是无限循环?如下方法,传入数组长度即可:private int[] GetRdmArr(int num){ int[] iArr = new int[num]; \/\/lstRdm:产生随机数的数组 ArrayList lstRdm = new ArrayList(); \/\/给lstRdm赋值(1,2,3...10) for (int n = 1; n <= nu...

如何用c#实现数组的动态增长?
在 C# 中,可以使用 List<T> 类来实现动态数组。List<T> 是一个泛型集合类,提供了类似数组的功能,但能够自动在内部进行扩容以适应更多的元素。下面是一些基本操作的示例:创建一个空的 List<T> 实例:List<int> myList = new List<int>();添加元素:myList.Add(1);myList.Add(2);

4用c# 产生一个 int 数组 长度为100,并向其中随机插入 1-100 ,并且...
添加了直接运行:class getRandowArray { public getRandowArray(){ arr = new int[100];} int[] arr;\/\/\/ \/\/\/ 检查数组中是否已存在此数 \/\/\/ \/\/\/ <returns>ture为已存在<\/returns> private bool checkNumber(int arrlist){ for (int i = 0; i < arrlist; ++i){ if (arr[i] ...

C#中如何申请动态数组
C#中并没有你想要的不定长数组,我给你两个解决方案:第一种是让用户一次性输入一个用“,”分隔的字符串,如“1,2,3,4,5”,然后后台根据元素的个数确定数组的长度:Console.WriteLine("Please input numbers in format (1,2,3,4,...100)"); var input = Console.ReadLine(); ...

用C#编写程序,生成一个长度为100的数组,然后向数组中随机插入1~100之间...
你这个问题有歧义诶,到底是 把数随机插入到数组中,还是 在数组中插入的1~100随机数 楼上是第一个,结果b数组值为1~100排序的数。下面是第二个,结果数字是随机的,但插入是顺序插入的代码如下:int[] arr = new int[100];Random r = new Random(DateTime.Now.Millisecond);for(int i=0;i...

相似回答