泛型和集合[东软].pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
泛型和集合[东软]

C#编程基础 --泛型和集合 东软IT人才实训中心 刘克刚 Copyright 2009 By Neusoft Group. All rights reserved. 集合 • 有时需要在数据集合中存储多个数据项,也就是说需要在较大 的结构中存储以某种方式相关的数据组或数据集合。C# 和.NETFramework为在代码中对这类数据值进行排序提供了 许多方式。 • 最简单的数据结构是数组。数组是System.Array类的一个实 例,使用它可以高效地访问给定下标的元素,编程也非常直 观。但是数组有一个缺点,即在实例化时需要指定数组的大 小,以后也不能添加、插入和删除元素。数组还必须有一个数 字下标,这样才能访问其中的元素。在处理一组Employee记 录时,如果需要按照Employee的姓名查找记录,这个下标不 能做到。 2010年1月29 日星期五 集合 • .NET支持许多在不同环境下使用的数据结构,不仅如 此,.NET还有许多接口,类实现这些接口后,它们就支持某种 数据结构的全部功能。例如: – 集合 – 数组列表 – 栈 – 队列 – 有序列表 – 字典(映射) • 除了基类System.Array以外,其他的数据结构类都在 System.Collections命名空间中。 2010年1月29 日星期五 集合 • 集合表示一组可以通过遍历每个元素来访问的一组对象,特别 是可以使用foreach循环来访问它们。使用foreach循环是集 合的主要目的,集合没有提供其他特性。 • 集合必须实现接口System.Collections.IEnumerable。 IEnumerable只定义了一个方法,如下所示: interfface IEnumerable { IEnumerator GetEnumerator(); } interface IEnumerator { object Current {get;}//获得当前对象的引用 bool MoveNext();//移向下一个对象 void Reset();//返回到集合开头前面的位置 } 2010年1月29 日星期五 集合 • GetEnumerator()的目的是返回枚举对象。该枚举对象实现 接口System.Collections.IEnumerator。 • 还有一个集合接口ICollection,它派生于IEnumerable。 它还有一个属性返回集合中的元素个数,它还可以把集合复制 到数组中,并提供信息,说明它是否是线程安全的。 2010年1月29 日星期五 集合 • 当不想提供下标时,集合是遍历元素的另一种形式。不能替换 或修改集合中的元素,因为Current属性是只读的。这种集合 主要是为foreach循环提供更方便的语法。 • 数组也是集合,因为foreach命令可以用于数组。 System.Array类提供的枚举可以按照下标从0开始的升序来 遍历其中的元素。 • 集合的一个重要方面是枚举作为一个单独的对象返回。它不应 是与集合相同的对象,原因是多个枚举可以同时应用到同一个 集合上。 • 演示一 2010年1月29 日星期五 数组列表 • 数组列表类似于数组,但它可以增大,由 System.Collections.ArrayList类来表示。它的工作方 式和StringBuilder有类似之处。 • ArrayList的实例化的最简单形式如下: ArrayList arr = new ArrayList(); • 这行代码创建了容量为16的ArrayList对象。也可以在实例化 ArrayList时,指定最初的容量。例如: ArrayList arr = new ArrayList(20); • 也可以在实例化后,使用Capacity属性指定ArrayList的容 量,如下所示: ArrayList arr = new ArrayList(); arr.Capacity = 20; 2010年1月29 日星期五 数组

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档