第9章使用枚举和结构来创建值类型.ppt

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章使用枚举和结构来创建值类型

第9章 使用枚举和结构来创建值类型 9.1 使用枚举 9.2 使用结构类型 9.1 使用枚举 例 一些特殊的数据:取值是固定的几个值 如 季节:春、夏、秋、冬 性别:男、女 月份:一月、二月、… 、十二月 星期:星期天、星期一、星期二、 … 、星期六 声明一种数据类型? ——枚举 声明枚举类型 enum 类型名 {符号名表} 符号名表中的符号也称为:枚举元素,以逗号间隔 例 enum Weekdays {Sun,Mon,Tue,Wed,Thu,Fri,Sat} enum Season {Spring, Summer, Autumn, Winter} enum Season { 春季,夏季,秋季,冬季 } 使用枚举类型 定义枚举类型变量 :类型名 变量名; 给枚举类型变量赋值 输出枚举类型变量 例 Season a; a = Season.Spring; Console.WriteLine(a); Console.WriteLine(a.ToString()); Console.WriteLine((int)a); 枚举元素的整数值 枚举元素是有值的──从0开始顺序编号 例如, enum weekdays{ Sun, Mon, Tue, Wed, Thu, Fri, Sat} 系统默认赋值:Sun=0、Mon=1、……、Sat=6 MonSun… Sat最大。 枚举元素的值也可以人为改变:在定义时由程序指定。 例如,enum weekdays {Sun=7, Mon=1 ,Tue, Wed, Thu, Fri, Sat} 则Sun=7,Mon=1,从Tue=2开始,依次增1。 9.2 使用结构类型 声明结构类型 格式如下: struct 结构类型名 { 方法 字段 } struct是定义类的关键字 结构类型名是一个标识符 一对大括号内是结构的说明部分,说明该结构的所有成员,包括方法、字段、构造函数。 例 一个圆结构 struct Circle { double Area() { return r * r * Math.PI; } double r; } 声明结构类型变量 格式: 结构类型名 变量表; 使用结构类型变量——成员的访问 通过变量名和成员运算符“. ”访问对象的成员,表示如下: 变量名.字段 或者 变量名.方法(参数表) 类和结构的区别 类类型是一种引用类型,总是在堆(heap)上创建; 结构类型是一种值类型,在堆栈(stack)上存储。 构造函数 类可以声明默认构造函数,但是结构不能。 已有自己的构造函数时 ,编译器不会为类生成默认构造函数,但是会始终为结构生成默认构造函数。 编译器会为类构造函数中未声明的字段初始化,但是不会为结构构造函数中未声明的字段初始化。 可以在声明类时将字段初始化,但是不能在声明结构类时将字段初始化。 class Time { private int year,month,day; public Time (int y, int m) { year=y; month=m; } } Struct Time { private int year,month,day; public Time (int y, int m) { year=y; month=m;; } } class Time { private int year=2000; private int month; private int day; } Struct Time { private int year=2000; private int month; private int day; } * * × √ 编译器会为类构造函数中未声明的字段初始化,但是不会为结构构造函数中未声明的字段初始化。 × √ 可以在声明类时将字段初始化,但是不能在声明结构类时将字段初始化。 *

文档评论(0)

asd522513656 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档