- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 孙月江 syjsdut@163.com * 第9章 理解值和引用使用枚举和结构来创建值类型 声明枚举类型 创建并使用枚举类型 声明结构类型 创建结构和类在行为上的差异 在C#中可以使用const来创建常量,例如: const pi=3.14 lightOfSpeed=3*108 缺点:只能表达一个常量 如何表达有限数量的常量集 9.1 使用枚举 例如,在程序中表示: 一年四季Season:可以使用整数0,1,2,3分别表示Spring、Summer、Fall、Winter 颜色:Red、Bule、Yellow、White 一周:Sunday、Monday、…… 假如声明变量Season为int,不止1,2,3,0,所有的整数值都可以赋给它 C#中,可以使用enum关键字创建一个枚举类型,限制其值只能是一组符号名称 9.1.1 声明枚举 枚举的声明方式 enum Season { Spring, Summer, Fall, Winter } 说明 Season是一个新定义类型的名字,它称为枚举 使用.操作符,Season.Spring是int类型值0的符号常量,Spring.Summer是int类型值1的符号常量…… 9.1.2 使用枚举 enum Season { Spring, Summer, Fall, Winter } class Example { public void Method(Season parameter) { Season localVariable; ... } private Season currentSeason; } 枚举类型的变量只有在赋值后才能使用 只能将枚举类型定义的值赋给一个枚举变量 例如: Season colorful =Season.Fall; Console.WriteLine(colorful);//输出fall 和所有值类型一样,可以使用?修饰符来创建一个可空的枚举变量 这样,除了可以把枚举类型定义的值赋给这个变量,还可以把null值赋给它 例如: Season ?colorful=null 9.1.3 使用枚举文字常量值 枚举的内部,它的每个元素对应着一个整数值,默认情况下,第一个元素对应整数0,以后的每个元素所对应的整数都递增1. 若要获得一个枚举变量的基础整数值,必须进行转换 enum Season { Spring, Summer, Fall, Winter } ... Season colorful = Season.Fall; Console.WriteLine((int)colorful); // writes out 2‘ 也可以把一个特定的整数常量和一个枚举的文字常量关联起来 例如: enum Season { Spring = 1, Summer, Fall, Winter } 多个枚举文字常量可以拥有相同的基础值 例如:秋天 英国Autumn,美国Fall enum Season { Spring, Summer, Fall, Autumn = Fall, Winter } 9.1.4 选择枚举的基本类型 枚举的文字常量默认为int类型,但是可以选择让枚举类型基于一种不同的基本整数类型 例如: enum Season : short { Spring, Summer, Fall, Winter } 总结:枚举类型的优点 用枚举类型提高可读性: 没有枚举功能的语言通常要依靠易出错、不清晰的结构来表达成组的常量。 例如,为了表达上面提到的5个颜色值,常用的过程表达为“1代表green、2代表red、3代表blue等等”。在这种情况下,若要检查wall的颜色是否为green,对应的jf语句为: if(wall= =1)不清楚1代表的颜色 而不是:if(Wall= =Color.Green) 无需额外的注释,后者更清楚而且容易直观理解. 总之,为了提高源代码的清晰度和自解释性,当在编译前已经知道了一个变量的所有可能值时.应尽量使用枚举。 课本158页练习 9.2 使用结构 类定义的是一个引用类型,它总是在堆上建立 某些时候,类中只包含极少的数据,因为管理堆所造成的开销显得极不合算 可以将类型定义成一个结构 结构是值类型,在栈上存储,所以能更有效的减少内存管理的开销 结构也可以包含自己的字段、方法和构造器 常用的结构类型 基本数值类型int,long,float分别是System.Int32,System.Int64,System.Single这三个结构类型的别名 所有这些结构有自己的字段和方法,可以直接为这些类型的变量和文字常量调用方法,例如: int i = 99; Console.WriteLine(i.ToString(
您可能关注的文档
- CRTSⅢ型板式无砟轨道施工工艺培训教材课件.ppt
- CT-05切割刀课件.ppt
- C反应蛋白检测与临床应用课件.ppt
- C语言程序设计(第二版)2课件.ppt
- D70102-U8V11.0全产品实施培训-总帐课件.pptx
- DEH逻辑简介课件.pptx
- depression抑郁症课件.ppt
- DIYPC和操作系统安装(八)课件.ppt
- DOE培训教材课件.ppt
- DSP伪指令集课件.ppt
- 2025年云南昆明宜良县人民检察院合同制书记员招聘笔试备考题库附答案详解.docx
- 2025年云南昆明市盘龙区教育体育局教育专项人才引进11人笔试高频难、易错点备考题库及参考答案详解.docx
- 2025年云南省林业和草原科学院招聘高层次人才13人笔试备考题库及答案详解1套.docx
- 2025年云南昆明市西山区教育体育局专项人才引进60人笔试备考题库及参考答案详解一套.docx
- 2025年云南玉溪华宁县教育体育局招聘紧缺专业教师10人笔试高频难、易错点备考题库及参考答案详解1套.docx
- 2025年云南省文物考古研究所校园招聘6人笔试高频难、易错点备考题库带答案详解.docx
- 2025年云南玉溪新平县总医院第一批编外人员招聘8人笔试高频难、易错点备考题库含答案详解.docx
- 2025年云南省人力资源和社会保障厅招募300名银龄技师的笔试备考题库附答案详解.docx
- 2025年云南曲靖市能源局招聘编外聘用人员10人笔试高频难、易错点备考题库带答案详解.docx
- 2025年云南曲靖市麒麟区事业单位委托遴选10人(含遴选计划)笔试备考题库及答案详解1套.docx
文档评论(0)