C# Array和ArrayList区别 C# Array和ArrayList区别

本文详细对比了C#中的Array和ArrayList的使用方法及特点。Array为固定大小且元素类型一致;ArrayList则为动态调整大小,允许不同类型的元素。此外,还介绍了两者间的相互转换方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C# Array和ArrayList区别 C# Array和ArrayList区别

一,C# array数组的用法范例:
type[] typename=new type[size];
如int[] a=new int[2];string[] str=new string[5];
实事上我们平常是用int[],string[]...的,此时我们已经创建一个Array数组,只不过我们平常没有这种意识而已.
(1):type数据类型不能缺;且要统一,而不能是如 int[] a=new Array[];
(2):数组的大小size不能缺,否则c#认为是出错的,因为数组是一段固定长度的内存;
(3):右边是一个中括号[],而不是()
实例:

//Array ar = new Array();//错误,无法创建抽象类或接口“System.Array”的实例
//int[] array = new Array[3];错误,
//int[] array = new Array[];错误,必须指定数组的大小或初始值
//int[] array = new Array[3];//错误,无法转换为int[]
//int[] array=new int[];//错误,必须指定数组的大小或初始值
//平常我们int[],string[]...事实上就是声明一个array数组了

int[] array = new int[5];
//或int[] arr={1,2,3};
for (int i = 0; i < 5; i++)
{
array[i] = i*100;//注:array数组并不提供add,clear,addRange..方法,而是直接设置或获取值
Response.Write(array[i] + "<br>");
}
Response.Write(array.Length + "<br><br>");


int [] intarray=new int[9];
intarray[0]=10;
intarray[1]=20;
intarray[2]=30;
intarray[3]=40;
intarray[4]=50;
intarray[5]=60;
intarray[6]=70;
intarray[7]=80;
intarray[8]=90;

二,C# ArrayList数组的用法范例:
ArrayList al = new ArrayList();
for (int i = 0; i < 3; i++)
{
al.Add(i);
Response.Write(al[i].ToString() + "<br>");//输出数组中的元素值
// Response.Write(al[i]+ "<br>");
}
Response.Write(al.Count + "<br><br>");
foreach (int obj in al)//或foreach (object obj in al),因为al是一个object类型的数组
{
Response.Write(obj+"-OK"+"<br>");
}

三,ArrayList和Array相互之间的转化
(1)以下是把ArrayList数组中的值拷贝到Array中去的实例用法
//int[] IResult=new int[al.Count];
//al.CopyTo(IResult);
//或是用下面的方法
int[] IResult = (int[])al.ToArray(typeof(Int32));//ToArray(Int32);这样错误,一定要强制类型转换
//Person[] personArrayFromList = (Person[])personList.ToArray(typeof(Person));
foreach(int item in IResult)
{
Response.Write(item.ToString());
}

Response.Write("以下是把Array数组中的值拷贝到ArrayList中去的实例用法" + "<br>" + "结果为:<br>");
int[] a ={ 222, 333, 555 };
ArrayList arrList = new ArrayList();
foreach (object obj in a)//或foreach (int obj in a)
{
arrList.Add(obj);
Response.Write(obj+"<br>");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值