.NET ArrayList

本文讨论了C#中的集合使用,比较了ArrayList与数组的优缺点,强调ArrayList的动态扩容、灵活性与类型不安全问题,以及C#2.0引入的泛型以解决这些问题。List集合的行为类似,但需要指定对象类型。

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


theme: smartblue

一、集合的使用

集合与数组比较类似,都用于存放一组值

二、数组的优劣

2.1 优势

数组在内存中是连续存储的,所以它的索引速度是非常的快,而且赋值与修改元素也很简单。

2.2 劣势

在数组的两个数据间插入数据很麻烦,

在声明数组的时候,必须同时指明数组的长度,

数组的长度过长,会造成内存浪费,数组和长度过短,会造成数据溢出的错误

三、ArrayList

·ArrayList是NET Framework提供的用于数据存储和检索的专用类

·它是命名空间 systemCollections 下的一部分

2.1 优势

ArrayList的大小是按照其中存储的数据来动态扩充与收缩

在声明ArravList对象时并不需要指定它的长度

ArrayList可以很方便的进行数据的添加,插入和移除

2.2 劣势

ArrayList 在存储数据时时使用 object 类型进行存储的

ArrayList 不是类型安全的,使用时很可能会出现类型不匹配的错误

就算都有插入了同一类型的数据,但在使用的时候,我们也需要将它们转化为对应的原类型来处理

ArrayList 的存储存在装箱和拆箱操作,导致其性能低下

正是因为ArrayList 存在不安全类型与装拆箱的缺点,所以在C#2.0后出现泛型的概念。

2.3 使用

``` ArrayList arrayList = new ArrayList();

//将数据新增到集合结尾处 arrayList.Add("abc"); arraylist.Aad(123);

//修改指定索引处的数据 arrayList[2] = 345;

//移除指定索引处的数据 arrayList.RemoveAt(a);

//移除内容为123的数据 arrayList.Remove(123);

//在指定索引处插入数据 arrayList.Insert(0,"hello world"); ```

2.4 List集合

List集合与ArrayList 由于都继承了相同的接口,故使用与 ArrayList 相似

在声明List集合时,需要同时为其声明 List 集合内数据的对象类型

示例:List<int> intList = new List<int>()

List <int> list = new List<int>() : //将数据新增到集合结尾处 list.Add(123) //对象初始化器赋值 List<int> intList = new List<int> { 1, 2, 3 }; //修改指定索引处的数据 list[2]= 345; //移除指定索引处的数据 list.RemoveAt(0); //移除内容为123的数据 list.Remove(123); //在指定索引处插入数据 list.Insert(0,6688);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值