无私分享(C#高级编程第6版doc)第10章 集合

无私分享(C#高级编程第6版doc)第10章 集合

ID:42389390

大小:465.00 KB

页数:40页

时间:2019-09-14

无私分享(C#高级编程第6版doc)第10章 集合_第1页
无私分享(C#高级编程第6版doc)第10章 集合_第2页
无私分享(C#高级编程第6版doc)第10章 集合_第3页
无私分享(C#高级编程第6版doc)第10章 集合_第4页
无私分享(C#高级编程第6版doc)第10章 集合_第5页
资源描述:

《无私分享(C#高级编程第6版doc)第10章 集合》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、目录第10章集合210.1 集合接口和类型210.2 列表410.2.1 创建列表610.2.2 只读集合1310.3 队列1310.4 栈1710.5 链表1910.6 有序表2410.7 字典2610.7.1 键的类型2610.7.2 字典示例2710.7.3 Lookup类3010.7.4 其他字典类3110.8 HashSet3210.9 位数组3510.9.1 BitArray3510.9.2 BitVector323710.10 性能3910.11 小结40第10章集合第5章介绍了数组和Array类执行的接口。数组的大小是固定的。如果元素个数是动态的,就应使用集

2、合类。List和ArrayList是与数组相当的集合类。还有其他类型的集合:队列、栈、链表和字典。本章介绍如何使用对象组。主要内容如下:● 集合接口和类型● 列表● 队列● 栈● 链表● 有序表● 字典● Lookup● HashSet● 位数组● 性能10.1 集合接口和类型集合类可以组合为集合,存储Object类型的元素和泛型集合类。在CLR2.0之前,不存在泛型。现在泛型集合类通常是集合的首选类型。泛型集合类是类型安全的,如果使用值类型,是不需要装箱操作的。如果要在集合中添加不同类型的对象,且这些对象不是相互派生的,例如在集合中添加int和string对象,就只需基于

3、对象的集合类。另一组集合类是专用于特定类型的集合,例如StringCollection类专用于string类型。提示:泛型的内容可参见第9章。对象类型的集合位于System.Collections命名空间;泛型集合类位于System.Collections.Generic命名空间;专用于特定类型的集合类位于System.Collections.Specialized命名空间。当然,组合集合类还有其他方式。集合可以根据集合类执行的接口组合为列表、集合和字典。接口及其功能如表10-1所示。.NET2.0为集合类添加了新的泛型接口,例如IEnumerable和IList。这些接口

4、的非泛型版本将一个对象定义为方法的参数,而其泛型版本使用泛型类型T。提示:接口IEnumerable、ICollection和IList的内容详见第5章。对集合和列表非常重要的接口及其方法和属性如表10-1所示。表 10-1接口方法和属性说明IEnumerable,IEnumerableGetEnumerator()如果将foreach语句用于集合,就需要接口IEnumerable。这个接口定义了方法GetEnumerator(),它返回一个实现了IEnumerator的枚举。泛型接口IEnumerable继承了非泛型接口IEnumerable,定义了一个返回E

5、numerable的GetEnumerator方法。因为这两个接口具有继承关系,所以对于每个需要IEnumerable类型参数的方法,都可以传送Enumerable对象ICollectionCount,IsSynchronized,SyncRoot,CopyTo()接口ICollection由集合类实现。对于实现了这个接口的集合,可以获得元素个数,把集合复制到数组中接口ICollection扩展了接口IEnumerable的功能ICollectionCount,IsReadOnly,Add(),Clear(),Contains(),CopyTo()R

6、emove()ICollection接口是ICollection接口的泛型版本。这个接口的泛型版本可以添加和删除元素,获得元素个数IListIsFixedSize,IsReadOnly,Item,Add,Clear,Contains,IndexOf,Insert,Remove,RemoveAt接口IList派生于接口ICollection。IList允许使用索引器访问集合,还可以在集合的任意位置插入或删除元素IListItem,IndexOfInsert,Remove与接口ICollection类似,接口IList也继承了接口ICollection。

7、第5章提到,Array类实现了这个接口,但添加或删除元素的方法会抛出NotSupportedException异常。在大小固定的只读集合(如Array类)中,这个接口定义的一些方法会抛出NotSupportedExceptiuon异常比较接口IList的非泛型版本和泛型版本,会发现新的泛型接口只为提供了索引的集合定义了重要的方法和属性。其他方法重构到ICollection接口中IDictionaryIsFixedSize,IsReadOnly,Item,Keys,Values,Add(),Clear(),Co

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。