概述
先来看原始数组:
结果的输出自然是 2 + 5;
动态分配:
1:
m++;
array = newint[m];//相当于重新初始化,原来的值被冲掉了
结果输出自然是 0 + 6;
2:
m++;
Array.Resize(ref array,m);
label2.Text =array[0].ToString() + " + " + array.Length.ToString();
结果输出自然是 2 + 6;
3:再有就是通过ArrayList的方法
第1种方案适合能够事先能从某处读出来长度的情况;第2,3种方案最适合在事先不知道数据长度究竟有多少,只能来一个算一个的情况,个人感觉,这才是动态数组真正的用途,也就是能够随着数据的增加而自动扩容。
在这方面ArrayList毫无疑问是首选,能够真正实现这个功能.
ArrayList
al
=
new
ArrayList();
al.Add( NewData ); // 单个添加
al.Add( NewData ); // 单个添加
如果增加的是同一类型的数据,用Array.Resize()也是能够实现的:
if(产生了新数据)//增加个判断
{
}
虽然有同样的效果,但本质上是有差异的.ArrayList是真正的在变长.而
System.Array.Resize这个泛型方法是
重新创建新设置大小的数组,用的是旧数组的元素初始化。随后以前的数组就
废弃!也就是说并不是在原先的基础上扩容,而是新建了一个.但是无论如何在表面上看来确实实现了我们想要的功能.
最后
以上就是自信汽车为你收集整理的c# 动态数组的全部内容,希望文章能够帮你解决c# 动态数组所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复