当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

河南中医药大学:《程序设计基础 CSharp .NET》教学课件_C#高级-3. 泛型

资源类别:文库,文档格式:PDF,文档页数:56,文件大小:3MB,团购合买
 泛型的含义  如何使用.NET Framework提供的一些泛型类  如何定义自己的泛型  变体如何与泛型一起工作
点击下载完整版文档(PDF)

信息管理与信息系统专业 3.泛型 任课教师:吕雅丽

信息管理与信息系统专业 任课教师:吕雅丽 3. 泛型

本章内容 泛型的含义 如何使用. NET Framework提供的一些泛型类 如何定义自己的泛型 变体如何与泛型一起工作

本章内容  泛型的含义  如何使用.NET Framework提供的一些泛型类  如何定义自己的泛型  变体如何与泛型一起工作

3.1泛型的含义 基本集合类(比如 ArrayList)是没有类型化的,需要把 ob ject项转 换为集合中实际存储的对象类型,类型转换中容易导致异常。 可以定义强类型化的集合类,即定义派生于 Collect ionBase的集合 类(比如上一章的 An i mals集合类),其拥有自己的方法。 每创建一个类,需要类实例集合时需要: 使用已有的集合类,该集合类可以包含新创建的类类型成员; 或者,创建一个新的集合类。 ■简化这一过程可以使用泛型类,集合类特别适合定义成 泛型类。 ■泛型可以是泛型类、泛型接口、泛型方法等

3.1 泛型的含义  基本集合类(比如ArrayList)是没有类型化的,需要把object项转 换为集合中实际存储的对象类型,类型转换中容易导致异常。  可以定义强类型化的集合类,即定义派生于CollectionBase的集合 类(比如上一章的Animals集合类),其拥有自己的方法。  每创建一个类,需要类实例集合时需要:  使用已有的集合类,该集合类可以包含新创建的类类型成员;  或者,创建一个新的集合类。  简化这一过程可以使用泛型类,集合类特别适合定义成 泛型类。  泛型可以是泛型类、泛型接口、泛型方法等

31使用泛型 ■值类型与引用类型的一个重要区别是:值类型必须包含 个值,不能使用未赋值的变量。引用类型可以是nu|。 有时让值类型为空是很有用的,尤其是处理数据库数据 ■泛型使用 System.№ ulab|e类型提供了使值类型为空 的方式。格式: System.Nu||ab|e变量名; 例如: System. Nul lab leintA; intA=nul I

3.1 使用泛型  值类型与引用类型的一个重要区别是:值类型必须包含 一个值,不能使用未赋值的变量。引用类型可以是null。  有时让值类型为空是很有用的,尤其是处理数据库数据 时。  泛型使用System.Nullable类型提供了使值类型为空 的方式。格式: System.Nullable 变量名;  例如:System.Nullable intA; intA=null;

311可空类型 可以使用属性 Hasvalue判断其是否有值。 例如: System. NullableintA; intA=nuli: intA=8 if (intA Has Value) I ■可以使用属性Vaue查看可空类型的值。如果 Hasa|ue是 false,访问 Value属性会抛出异常 简化写法: int? intA

3.1.1 可空类型  可以使用属性HasValue判断其是否有值。  例如:System.Nullable intA; intA=null; intA=8; if(intA.HasValue) { … }  可以使用属性Value查看可空类型的值。如果HasValue是 false,访问Value属性会抛出异常。  简化写法: int?intA;

1、运算符和可空类型 对于可空类型,简单类型的运算符和类型转换,均使用。 int? op1= 5 int? result=op1*2;正确 int? op1 =5 int resu|t=op1*2;错误 int? op1=5 int result=(int)op1*2;正确 int? op1=5 int result=op1. Value*2;正确

1、运算符和可空类型  对于可空类型,简单类型的运算符和类型转换,均使用。 int? op1 = 5; int? result = op1 * 2; 正确 int? op1 = 5; int result = op1 * 2; 错误 int? op1 = 5; int result = (int)op1 * 2; 正确 int? op1 = 5; int result = op1.Value * 2; 正确

2、??运算符 ?运算符称为空合并运算符,是一个二元运算符 op1 ? op2 等价于op1=nu|l?0p2:op1 ●它是一种提供默认值的便捷方式 int? op1 nul I int result =op1 *2?? 5

2、??运算符  ??运算符称为空合并运算符,是一个二元运算符。 op1 ?? op2 等价于 op1==null ? Op2 : op1  它是一种提供默认值的便捷方式。 int? op1 = null; int result = op1 * 2 ?? 5;

3、?运算符 ■?.运算符称为空条件运算符,有助于简化空检查的代码。 public static bool operator ==(Card card1, Card card2) =>(card1?. suit = card2?. suit)&&(card1? rank = card2? rank)

3、?.运算符  ?.运算符称为空条件运算符,有助于简化空检查的代码

4、使用可空类型 创建一个类 Vector,表示极坐标的矢量(包含一个表示大小的值和 一个方向的角度)

4、使用可空类型  创建一个类Vector,表示极坐标的矢量(包含一个表示大小的值和 一个方向的角度) r 𝜃 x y

4、使用可空类型 ■创建一个类 Vector,表示极坐标的矢量(包含一个表示大小的值和 个方向的角度) class vector publ ic de publ ic doub le? Theta = nul I publ ic double? ThetaRadi ans get i return Theta Math PI/ 180.0 publ ic Vector (double? r, double? theta if(r<o theta += 180 theta theta 360 Theta theta

4、使用可空类型  创建一个类Vector,表示极坐标的矢量(包含一个表示大小的值和 一个方向的角度)

点击下载完整版文档(PDF)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共56页,可试读19页,点击继续阅读 ↓↓
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有