集合和列表

本文详细介绍了C#中数组的不可变性与ArrayList的灵活性。包括如何通过对象复制调整数组大小,对象的同一性与等性比较,实现自定义的Equals方法以改进查找效率,以及如何对数组中的对象进行排序。同时,文章阐述了ArrayList对象的特性,如Count属性代替Length,自动扩容机制,以及在检索时可能遇到的类型转换问题。

 集合与列表

1.数组
重新设置数组的大小

c#不允许重新设置数组的大小,但是可以使用对象复制的方法,将数组中的内容复制到较大的数组中


查找数组中的对象
对象的同一性与等值性
两个对象可以根据同一性来比较(他们是否是相同的对象)
也可以根据其等值性来比较(他们包含的值是否相同)

查找数组中的对象
重写Equals方法
可以通过重写由object继承来的Equals方法,来判断对象的等值性
重载了Equals方法后,Array的Indexof方法在进行比较查找时,将按照

等值进行查找。


给数组中的对象排序
实现IComparable的重要性
实现了IComparable接口后,类就可以互相比较,确定他们是小于,大

于还是等于其他对象

要使数组中的对象能够排序,其对象必须实现IComparable接口的

CompareTo方法,可以使用Array类的Sort方法实现排序

 

ArrayList(System.Collections命名空间)
ArrayList对象没有Length属性,而是用Count属性来表示内部的对象数

ArrayList的优点是:使用方便,在创建ArrayList对象时,自动分配空

间(4个对象),当添加第五个对象时,ArrayList会自动将空间加倍,
依次类推

ArrayList的缺点是:需要在检索时强制转换对象类型,

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值