Visual C#.NET程序设计教程 第2版 教学课件 作者 罗福强 白忠建 杨剑 C# Ch6(人邮).pptVIP

Visual C#.NET程序设计教程 第2版 教学课件 作者 罗福强 白忠建 杨剑 C# Ch6(人邮).ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
6.3.2 泛型集合 泛型最常见的用途是创建集合类,泛型集合可以约束集合内的元素类型。典型泛型集合包括ListT、DictionaryK,V等。(T、K,V表示该泛型集合中的元素类型)。 1.ListT 列表ListT是动态数组ArrayList的泛型等效类,是强类型化的列表。在使用ListT时,必须明确指定列表元素的数据类型。创建一个列表对象的格式如下: List元素类型 对象名 = new List元素类型(); 在使用ListT时,要注意引入命名空间:System.Collections.Generic。下例创建一个泛型集合,并指定该集合中只能存放Student类型的元素。 6.3.2 泛型集合 2.DictionaryK,V 字典Dictionary是键和值的集合,它实质上仍然是一个哈希表,只是在使用时要指定键和值的类型。其中的K,V约束集合中元素类型,和ListT相同,DictionaryK,V集合在编译时要检查类型约束,访问集合中的元素时也无需装箱拆箱操作。 创建一个字典对象的格式如下: Dictionary键类型,值类型 对象名 = new Dictionary键类型,值类型(); 6.3.3泛型类、泛型方法和泛型接口 1.泛型类 当一个类的操作不针对特定或具体的数据类型时,可把这个类声明为泛型类。泛型类最常用于集合,如链接列表、哈希表、堆栈、队列和树等。一般情况下,创建泛型类的过程为:从一个现有的具体类开始,逐一将每个类型更改为类型参数,一直达到通用化和可用性的最佳平衡。 定义泛型类的一般形式如下: [访问修饰符] class 泛型类名类型参数列表 [: 基类或接口] [类型参数约束] { //类的成员 } 6.3.3 泛型类、泛型方法和泛型接口 其中,“访问修饰符”包括public、protected和internal等,“类型参数列表”不指定数据类型,当具有多个类型参数时使用逗号分隔。泛型类可以从基泛型类派生,也可以从泛型接口派生,当所声明的泛型类不是派生类时,省略基类和接口。“类型参数约束”用来限定泛型类所要处理的数据类型。 6.3.3 泛型类、泛型方法和泛型接口 在C#中,一共有5类约束,分别如下: (1) where T : struct:类型参数必须是值类型。 (2) where T : class:类型参数必须是引用类型,包括任何类、接口、委托或数组类型 (3) where T : new():类型参数必须具有无参数的公共构造函数。当与其他约束一起使用时,new( ) 约束必须最后指定。 (4) where T : base class name:类型参数必须是指定的基类或派生自指定的基类。 (5) where T : interface name:类型参数必须是指定的接口或实现指定的接口。可以指定多个接口约束。约束接口也可以是泛型的。 6.3.3 泛型类、泛型方法和泛型接口 【实例6-4】泛型类的定义和使用演示。 6.3.3 泛型类、泛型方法和泛型接口 2.泛型方法 泛型方法是在泛型类或泛型接口中使用类型参数声明的方法。其一般形式如下: [访问修饰符] 返回值类型 方法名类型参数列表(形式参数列表) { //语句 } 其中,类型参数列表与其所属的泛型类的类型参数列表相同。 6.3.3 泛型类、泛型方法和泛型接口 3.泛型接口 泛型接口通常用来为泛型集合类或者表示集合元素的泛型类定义接口。对于泛型类来说,从泛型接口派生可以避免值类型的装箱和拆箱操作。.NET Framework类库定义了若干个新的泛型接口,在 System.Collections.Generic 命名空间中的泛型集合类(如List和Dictionary)都是从这些泛型接口派生的。 6.3.3 泛型类、泛型方法和泛型接口 C#允许自定义泛型接口,一般形式如下: [访问修饰符] interface 接口名类型参数列表 { //接口成员 } 其中,访问修饰符可省略,“类型参数列表”表示尚未确定的数据类型,类似于方法中的形参列表,当具有多个类型参数时使用逗号分隔,泛型接口也可以使用类型约束。 * * 作业 1. 书面作业(见本章教材) 2. 上机实验(见本章教材) * * Class Over Thank you! 2012年2月29日10时35分 《Visual C#.NET程序设计教程(第2版)》 ——四川省精品课程、四川省高等教育质量工程建设项目 Email:LFQ501@ 第*页 人民邮电出版社与电子科技大学成都学院联合打造——精品教材

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档