C#的动态数组 c 动态数组的用法

在使用数组的过程中,有时候希望数组的长度和元素个数能随程序的运行不断改变,但改变一次就要重新开辟一个新的数组对象,这样将占用内存空间。为了解决这个问题,Microsoft.NET Framework 体统了一个ArrayList类,专门用于处理可按动态增减成员的数组。

ArrayList类被设计成一个动态数组,其容量会随着需要而适当的扩充。在ArrayList集合类中经常使用的方法如下。

Add()方法:向数组中添加一个元素

Remove()方法:删除数组中的某一元素

RemoveAt(int i)方法:删除数组中索引值为i的元素

Reverse()方法:反转数组的元素

Sort()方法:以从小到大的顺序排列数组的元素

Clone()方法:复制一个数组

ArrayList与System.Array的区别有以下几点:

①Array可以定义多维数组,ArrayList只能定义一维数组。

②Array可以定义自己的下限,ArrayList的下限始终是0

③Array的元素通常是特定类型的,Array的元素都是object类型的,所以需要进行装箱和拆箱操作,内存分配的代价高

④Array的元素数目是固定的,ArrayList的元素数目可以自动扩展

⑤ArrayList具有添加、删除、插入、移动、复制等方法

下面的是个小例子

C#代码

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Linq;

usingSystem.Text;

usingSystem.Collections;

namespaceArrayListTest

{

classProgram

{

staticvoidMain(string[]args)

{

ArrayListal=newArrayList();

//单个添加

al.Add(100);

//集体添加方发一

foreach(intnumberinnewint[6]{6,3,4,1,0,9})

{

al.Add(number);

}

//集体添加方法二

int[]number2=newint[2]{15,21};

al.AddRange(number2);

//移除值为3的数

al.Remove(3);

//移除第3个数

al.RemoveAt(3);
C#的动态数组 c 动态数组的用法

ArrayListal2=newArrayList(al.GetRange(1,3));

Console.WriteLine("遍历方法一");

foreach(intiinal)

{

//遍历方法一

Console.WriteLine(i);

}

Console.WriteLine("遍历方法二");

for(inti=0;i<al2.Count;i )

{

//一定要强制转换

intnumber=(int)al2[i];

Console.WriteLine(number);

}

Console.ReadLine();

}

}

}

运行结果如下:



由于移除了位置在3的数和数为3的数字,所以就没有了1和3,结果如上

  

爱华网本文地址 » http://www.aihuau.com/a/25101011/49233.html

更多阅读

的地得的用法 的和地的区别及用法

的地得的用法——简介日常工作中,常会有人提到“的”“地”“得”用法的问题,不少学生对“的、地、得”用法也是含糊不清,乱用一气,作业自然会在“的”“地”“得”用法上出错,并且屡改屡犯。大家都知道,“的”、“地”、“得”这三个字的

hadbetter,should及oughtto的用法 you had better用法

had better , should 及ought to都是情态助动词,为方便同学们学习使用,现将它们的主要用法归纳如下:一、had better 的用法1.hadbetter是固定词组,意思是“应该;最好”,后接不带to 的不定式,其用法相当于情态动词,动词 had没有人称或数的变

SQL中DISTINCT关键字的用法 linq distinct 用法

Select中DISTINCT关键字的用法?distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是distinct只能返回它的目标字段,而无法返回其它字段下面先来看

SetTimer函数的用法 c settimer用法

SetTimer函数的用法VS2008Ontimer函数在CDialogBar类中不能响应解决方案:如果是手工加的wm_timer消息,那就要检查一下BEGIN_MESSAGE_MAP(...Dlg, CDialog),END_MESSAGE_MAP()ON_WM_TIMER()宏之间有没有ON_WM_TIMER()了,没有的要添

转载 js中return的用法 c return的用法

原文地址:js中return的用法作者:风依旧_旭一、返回控制与函数结果,语法为:return 表达式;语句结束函数执行,返回调用函数,而且把表达式的值作为函数的结果二、返回控制,无函数结果,语法为:return;

声明:《C#的动态数组 c 动态数组的用法》为网友少话妖分享!如侵犯到您的合法权益请联系我们删除