第10章年龄计算——值与引用类型、装箱拆箱.pptVIP

第10章年龄计算——值与引用类型、装箱拆箱.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文档。上传文档
查看更多
第10章年龄计算——值与引用类型、装箱拆箱

第10章 年龄计算—— 值与引用类型、装箱拆箱 能力目标: 1. 理解值、可空值和引用类型,能使用关键字ref和out引用传递方法参数。 2. 理解栈与堆的概念,掌握装箱、拆箱操作。 3. 掌握强制类型转换,理解运算符??、is和as及其表达式。 4. 能编写年龄值与引用类型、装箱拆箱的WPF应用程序。 内容介绍 10.1 项目预览 10.2 值类型与引用类型 10.3 栈与堆 10.4 空值null与可空值类型 10.5 运算符??及其表达式 10.6 方法参数的值传递——单向传递 10.7 方法参数ref传递——双向传递 10.8 方法参数out传递——反向传递 10.9 object类型 10.10 装箱与拆箱 10.11 强制类型转换与is、as运算符 10.12 本章小结 10.13 项目实训10:年龄值与引用类型、装箱拆箱 10.1 项目预览 年龄值与引用类型、装箱拆箱的WPF应用程序项目运行界面: 10.2 值类型与引用类型 数据类型有两大类: (1)值类型:有int和double等数值类型、bool逻辑型等。 (2)引用类型:有类类型、接口类型、数组类型等。 值类型是轻量级的,而引用类型则是重量级的,开销多。 变量是命名的存储空间,变量名称用于指代存储空间的位置。例如: int i=8; 引用类型声明的变量,例如类类型的变量,用于存放对象所在内存空间的地址。对象没有创建,可存放空值null, 值类型变量存放值本身,值类型赋值将复制所包含的值。 而引用类型变量赋值只复制对象的引用(地址),不复制对象本身。 【例10-1】建立控制台应用程序项目,测试值类型与引用类型。 class Program { static void Main(string[] args) { int i = 8; int i2 = i; ... i = 0; ... Circle c = new Circle(9); //引用类型 ... Circle c2 = c; //引用类型 ... c = null; Console.WriteLine(c不再引用圆,但c2仍引用半径为 + c2.Radius + 的圆。); } } class Circle //圆类 { public double Radius { get; set; } public Circle(double radius) { Radius = radius; } } 10.3 栈与堆 放数据的内存空间分为两大区域:栈、堆。 栈(堆栈,stack):栈只能在栈顶进出数据,数据先进后出、后进先出。 堆(heap):所有引用类型的对象都在堆中创建,但引用类型的变量仍在栈中存放。 堆中的对象使用完毕,没有被引用类型变量引用,系统自动进行垃圾回收。 10.4 空值null与可空值类型 引用类型变量都可赋为空值null。例如: Circle c = null; 值类型的变量不能赋为空值null。如 int i = null; 错误。 可空值类型:在值类型后面加上问号,即是可为null的值类型。例如: int? i = null; double? d = null; bool? b = null; 声明可空值类型变量一般形式: 值类型? 含可选初值的变量列表 可空值类型实质上是泛型结构NullableT的实例, 因此声明可空值类型也可采取下面的形式: Nullable值类型 含可选初值的变量列表 例如: Nullableint i = null; 空值null与可空值类型 可空值类型变量均有两个公共的只读属性:HasValue和Value,表示是否有非空值及相应的值。 属性Value的类型是对应的值类型, 普通的值类型数据能自动转换为对应的可空值类型,反之则不行。可以这样做: if ( i.HasValue) int j = i.Value; 或使用强制类型转换int j = (int) i 。 【例10-2】建立控制台应用程序项目,测试值类型与可空值类型的混合运算。 int? i = null; i = 3; //去掉该行语句将如何运行?空值与整数相加仍是空值 int j = 4; i = i + j; //int型数据可自动转换为可空型int? if (i.HasValue) {

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档