[C#复习向整合]ArrayList

微软官网文档:

https://docs.microsoft.com/zh-cn/dotnet/api/system.collections.arraylist?view=net-5.0

一.本质

arraylist是C#封装好的类.

本质是object类型的数组.

arraylist封装好了增删查改的方法.

二.申明

需要命名空间using System.Collections;

ArrayList arr = new ArrayList();

三.增删查改

1.增

ArrayList arr = new ArrayList();
arr.Add(1);
arr.Add("123");
arr.Add(new object());
//因为其本质为object数组,所以可以存储任意类型
ArrayList arr = new ArrayList();
ArrayList arr2 = new ArrayList();
arr2.Add(1);
arr.AddRange(arr2);//类似数组拼接,批量增加

若不在末尾增加,而是插入

arr.Insert(0,24);//把第0个位置变成24,其余的往后移

2.删

ArrayList arr = new ArrayList();
arr.Add(1);
arr.Add(1);

//删除后下面的元素会自动补上了
arr.Remove(1);//删除遍历到的第一个1
arr.RemoveAt(0);//指定位置删
arr.Clear();

3.查

ArrayList arr = new ArrayList();
arr.Add(1);
Console.WriteLine(arr[0]);

//查看元素是否存在,返回值bool
if(arr.Contains(1))
{
    
}

//正向查找元素位置,参数填的是元素内容,不是下标
int index = arr.IndexOf(1);//返回遍历的第一个要找的索引下标,从0开始;若不存在则返回-1
//反向查找元素位置,返回是正向索引下标
index = arr.LastIndexOf(1);

//例如arr中有两个相同元素,正向与反向则影响返回的下标

4.改

ArrayList arr = new ArrayList();
arr.Add(1);
arr[0] = 5;

5.遍历

arr.Count;//返回数组中有内容的数组长度
arr.Capacity;//返回整个数组分配的长度

for(int i=;i<arr.Count;i++)
{
    //遍历
}    

//迭代器遍历
foreach(var item in arr)
{
    Console.WriteLine(item);
}

四.装箱拆箱

由于ArrayList本质是object数组,所以难免存在值类型转换引用类型的装箱拆箱.所以ArrayList尽量少用.但ArrayList的优点是什么类型都能存储.

int i = 1;
arr[0] = i;//装箱
i = (int)arr[0];//拆箱

参考资料<唐老狮C#教程>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值