- 8
- 0
- 约8.36千字
- 约 42页
- 2015-11-19 发布于广东
- 举报
6.3.1 泛型概述 .NET Framework在System.Collections.Generic和System.Collections.ObjectMode命名空间中就提供了大量的泛型集合类,如List、Queue、Stack、Dictionary等,这些集合类基本上都提供了增加、删除、清除、排序和返回集合元素值的操作方法,这些操作方法对任意类型的数据都有效。 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 接口名类型参数列表 { //接口成员 } 其中,访问修饰符可省略,“类型参数列表”表示尚未确定的数据类型,类似于方法中的形参列表,当具有多个类型参数时使用逗号分隔,泛型接口也可以使用类型
您可能关注的文档
- 新Visual Basic程序设计实用教程 教学课件 刘瑶 第4章 常用控件.ppt
- 新Visual Basic程序设计实用教程 教学课件 刘瑶 第5章 程序控制结构.ppt
- 新Visual Basic程序设计实用教程 教学课件 刘瑶 第6章 数组.ppt
- 新Visual Basic程序设计实用教程 教学课件 刘瑶 第7章 过程.ppt
- 新Visual Basic程序设计实用教程 教学课件 刘瑶 第8章 文件.ppt
- 新Visual Basic程序设计实用教程 教学课件 刘瑶 第9章 数据库基础.ppt
- 新Visual Basic程序设计应用教程 电子教案&源代码 薛晓萍 第2章 第2章 Visual Basic语言基础.ppt
- 新Visual Basic程序设计应用教程 电子教案&源代码 薛晓萍 第3章 第3章 程序设计基本结构.ppt
- 新Visual Basic程序设计应用教程 电子教案&源代码 薛晓萍 第4章 第4章 常用内部控件.ppt
- 新Visual Basic程序设计应用教程 电子教案&源代码 薛晓萍 第5章 第5章 数组.ppt
最近下载
- 税务师-税法一-突击强化题-第4章城市维护建设税、教育费附加及地方教育附加.docx VIP
- 航空发动机维修(MRO)市场现状调研报告_2025年12月.docx VIP
- 粉笔-市场前景及投资研究报告-线上公考,OMO多元化发展路径.pdf
- Invitrogen Qubit荧光计Qubit 4和Qubit Flex说明书.pdf
- 油水分离器采购及安装合同模板.docx VIP
- 2025-2030年中国城轨建设行业深度发展研究及“十五五”发展规划与趋势预测研究报告.docx
- 云米Link说明书用户手册.pdf
- 银河麒麟服务器虚拟化系统V10 彩页.pdf VIP
- 好的教育读书分享 课件(共18张PPT).pptx VIP
- 申论真题及答案重庆2025.doc VIP
原创力文档

文档评论(0)