C#程序设计教程 刘瑞新 第7章 泛型新.pptVIP

C#程序设计教程 刘瑞新 第7章 泛型新.ppt

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章 泛型 7.1 泛型的概念 7.1 泛型的概念 7.1 泛型的概念 7.1 泛型的概念 7.2 泛型集合 7.2 泛型集合 7.2 泛型集合 7.2 泛型集合 7.2 泛型集合 7.3 泛型方法和泛型接口 7.3 泛型方法和泛型接口 7.3 泛型方法和泛型接口 * 本章讲述的主要内容 7.1 泛型的概念 7.2 泛型集合 7.3 泛型方法和泛型接口 7.1.1 泛型的特点 1.可重用性 2.高效率 3.类型安全 7.1.2 泛型类的声明和使用 1. 泛型类的声明 例如,下列代码声明了一个泛型类GenericClass。 public class GenericClassT { //类体代码 } 其中,T为泛型占位符(也可以定义成其它任意合法的标识符),表示一个假设的类型。在定义了泛型类后,默认情况下T可以是任意数据类型,所以可以用实际的数据类型代替T来声明某个实际要使用的类型。 7.1.2 泛型类的声明和使用 2.泛型的命名约定 为了在程序中方便地区分泛型和非泛型类型,需要对泛型命名法则加以如下约定。 1) 泛型类型的名称在程序中变量较多时可用字母T作为前缀加以区别。 2) 如果没有特殊的要求,泛型类型名称允许使用任意合法标识符,如果程序中只使用了一个泛型类型,则一般可使用字符T作为泛型类型的名称。 3) 如果泛型类型有特定的要求(例如必须实现一个派生于基类的接口),或者使用了两个或多个泛型类型,就应给泛型类型指定描述性名称。 7.1.2 泛型类的声明和使用 3. 使用泛型 通常,在需要对多种数据类型进行操作,而且在编写代码时不知道有哪些类型需要进行该操作,也不知道将会有多少类型需要支持这样的操作,为了提高代码的复用率此时可以考虑使用泛型。 【演练7-1】 7.2.1 ListT泛型集合类 1. 创建ListT集合 与ArrayList集合类相似,泛型集合ListT在使用时也需要使用new关键字创建类的实例,语法格式为: List数据类型 对象名称 = new List数据类型([泛型集合的容量]); 例如,下列语句声明了一个名为“Score”的ListT泛型集合对象,并指定数据类型为整型(int)。 //省略了泛型集合的容量 Listint Score = new Listint(); 需要说明的是,上述语句创建的ListT泛型集合实例为空,且具有默认容量(0)。 7.2.1 ListT泛型集合类 2. ListT的常用方法 用于操作ListT泛型集合的方法有很多,但大多数与ArrayList集合的方法相同,这里不再赘述。例如: Liststring list = new Liststring//实例化泛型集合list list.Add(zhangsan); //向list中添加一个项zhangsan list.Insert(0, lisi); //在索引位置为0处插入一个项lisi list.Remove(zhangsan); //从list中移除zhangsan项 7.2.1 ListT泛型集合类 3. ListT与ArrayList的比较 在决定使用ListT泛型集合类还是使用ArrayList类(两者具有类似的功能)时,应注意ListT泛型集合类在大多数情况下执行得更好并且是类型安全的。如果对ListT泛型集合类的类型使用引用类型,则两个类的行为是完全相同的。但是,如果对类型使用值类型,则建议尽量使用ListT泛型集合类。 7.2.2 DictionaryK,V泛型集合类 DictionaryK,V泛型集合的作用与ListT泛型集合十分相似,唯一的不同是DictionaryK,V泛型集合存储数据的方式与HashTable集合相同,采用Key/Vlue对(键/值对)来保存数据,相当于为ListT泛型集合中各元素值增加一个编号字段,以保证无论该元素处于什么位置都能快速地找到该元素。 1. 创建DictionaryK,V泛型集合 与HashTable集合类相似,泛型集合DictionaryK,V在使用时也需要使用new关键字创建类的实例,其语法格式为: Dictionary键类型,值类型 对象名 = new Dictionary键类型,值类型(); 7.2.2 DictionaryK,V泛型集合类 DictionaryK,V泛型集合的作用与ListT泛型集合十分相似,唯一的不同是DictionaryK,V泛型集合存储数据的方式与HashT

文档评论(0)

时间加速器 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档