关键字值集合

关键字值集合也是一种自定义集合,它和普通的自定义集合的不同之处在于它可以通过关键字值进行索引而不是用过通过简单的索引值进行索引。相对于自定义集合实现IList接口,关键字值集合则是实现IDictionaty接口,与自定义集合类似,我们也可以同过.NET Framework提供的DictionaryBase对象来协助我们实现关键字值集合。我们可以通过DictionatyBase类中的属性Dictionary来通过IDictionaty接口来访问集合项。

一下通过一个简单例子来说明关键四值集合的定义与使用:

首先定义一个Person类,其中包括两个共有字段姓名和年龄:

关键字值集合 - Improve - Improve

 然后我们定义一个集合类People,其中包含三个请类型的方法 ,Add(Person pperson),Remove(Person pperson),this[string pid]

关键字值集合 - Improve - Improve
 
集合类People继承了DictionaryBase基类,三个方法都是通过Dictonary来访问集合项(而普通的自定义集合是通过List属性来访问集合项的),但是两者访问到得对象类型都是Object的,所以在通过下标访问或者关键字访问的时候都需显式转换类型。还有,因为关键字值集合中有键值的存在,所以对应的Add方法会多出来一个键值参数,而Remove也是通过键值来删除对象的,关键值访问也是一样。
 
 
最后在使用的时候,如果要使用foreach便利关键字值集合,那么要使用的类型不是Person而是DictionatyEntry(因为关键字值集合中除了对象还有关键字的存在)DictionatyEntry.Value就是其中存贮的对象,而且是Object型的,多以需要类型转换。
关键字值集合 - Improve - Improve
运行结果:
关键字值集合 - Improve - Improve

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值