c#.net framework详解

c#.net framework详解

ID:20700356

大小:1.47 MB

页数:46页

时间:2018-10-15

c#.net framework详解_第1页
c#.net framework详解_第2页
c#.net framework详解_第3页
c#.net framework详解_第4页
c#.net framework详解_第5页
资源描述:

《c#.net framework详解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第10章集合100第章集合第5章介绍了数组和Array类执行的接口。数组的大小是固定的。如果元素个数是动态的,就应使用集合类。List和ArrayList是与数组相当的集合类。还有其他类型的集合:队列、栈、链表和字典。本章介绍如何使用对象组。主要内容如下:●集合接口和类型●列表●队列●栈●链表●有序表●字典●带多个键的字典●位数组●性能10.1集合接口和类型集合类可以组合为集合,存储Object类型的元素和泛型集合类。在.NET2.0之前,不存在泛型。现在泛型集合类通常是集合的首选类型。泛型集合类是类型安全的,如果使用值类型,是不需要装箱操作的。如果要在集合中添加不同类型的对象,且这

2、些对象不是相互派生的,例如在集合中添加int和string对象,就只需基于对象的集合类。另一组集合类是专用于特定类型的集合,例如StringCollection类专用于string类型。提示:泛型的内容可参见第9章。对象类型的集合位于System.Collections命名空间;泛型集合类位于System.Collections.291第10章集合Generic命名空间;专用于特定类型的集合类位于System.Collections.Specialized命名空间。当然,组合集合类还有其他方式。集合可以根据集合类执行的接口组合为列表、集合和字典。接口及其功能如表10-1所示。.NET2.0

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

4、e继承了非泛型接口IEnumerable,定义了一个返回Enumerable的GetEnumerator方法。因为这两个接口具有继承关系,所以对于每个需要IEnumerable类型参数的方法,都可以传送Enumerable对象ICollectionCount,IsSynchronized,SyncRoot,CopyTo()接口ICollection由集合类实现。使用这个接口的方法可以在集合中添加和删除元素ICollectionCount,IsReadOnly,Add(),Clear(),Contains(),CopyTo()Remove()接口ICollection

5、扩展了接口IEnumerable的功能IListIsFixedSize,IsReadOnly,Item,Add,Clear,Contains,IndexOf,Insert,Remove,RemoveAt接口IList派生于接口ICollection。IList允许使用索引器访问集合,还可以在集合的任意位置插入或删除元素IListItem,IndexOfInsert,Remove与接口ICollection类似,接口IList也继承了接口ICollection。第5章提到,Array类实现了这个接口,但添加或删除元素的方法会抛出NotSupportedExceptio

6、n异常。在大小固定的只读集合(如Array类)中,这个接口定义的一些方法会抛出NotSupportedExceptiuon异常291第10章集合(续表)接口方法和属性说明IDictionaryIsFixedSize,IsReadOnly,Item,Keys,Values,Add(),Clear(),Contains(),GetEnumerator(),Remove()接口IDictionary或IDictionary由其元素包含键和值的集合实现IDictionaryItem,Keys,Values,Add(),ContainsKey(),

7、Remove(),TyrGetValue()IComparerCompare()接口IComparer由比较器实现,通过Compare()方法给集合中的元素排序IEqualityComparerEquals(),GetHashCode()接口IEqualityComparer由一个比较器实现,该比较器可用于字典中的键。使用这个接口,可以对对象进行相等比较。方法GetHashCode()应为每个对象

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

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

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