关键字值集合

来源:互联网 发布:iris数据集主成分分析 编辑:程序博客网 时间:2024/06/05 19:42

关键字值集合也是一种自定义集合,它和普通的自定义集合的不同之处在于它可以通过关键字值进行索引而不是用过通过简单的索引值进行索引。相对于自定义集合实现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

 

0 0
原创粉丝点击