- 1、本文档共69页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章 创建值类型和引用类型 沈项军 计算机科学与通信工程学院 内容提要 值类型和引用类型介绍 值类型使用 结构 枚举 引用类型使用 数组 集合 值类型和引用类型介绍 分配给变量的内存有两种: 值类型:所有内置数据类型,诸如int, char和 float 都是值类型。 引用类型: 包括引用内存块的地址。数据类型(如string和class)是引用类型。 简单类型是值类型,对象类型等复杂类型是引用类型 值类型和引用类型介绍 值类型(用于存储值)包括:简单类型、结构类型(struct)、枚举类型(enum) 简单类型包括:整数类型、布尔类型、字符类型、实数类型(单精度、双精度、十进制型) 引用类型:顾名思义,就是引用的,变量存的不是值,而是指向所要存储的值的地址。 引用类型的变量又称为对象:类、接口、委托、数组,字符串 值类型通常被分配在堆栈上,引用类型总是分配在托管堆上,引用类型的变量通常包含一个指向实例的指针,变量通过该指针来引用实例 值类型与引用类型的区别在于值类型的变量直接包含其数据,而引用类型的变量则存储对象引用。对于引用类型,两个变量可能引用同一个对象,因此对一个变量的操作可能影响另一个变量所引用的对象。对于值类型,每个变量都有自己的数据副本,对一个变量的操作不可能影响另一个变量。 值类型和引用类型变量声明、定义和初始化区别 声明 作用是描述对象的类型 int a; Car Suzuki; 定义 作用是确定对象的类型并分配内存,用于创建新的对象 int a;(值类型的变量声明的同时也是定义) Suzuki = new Car();(引用类型需要通过使用new操作符) 初始化 给变量一个初值 a=10; Suzuki = new Car(); 值类型的变量都需要在定义后获得一个初始化值,否则会发生错误 int a; b=a; (错误,a没有获得一个初始化值) 引用类型变量的初始化在定义之后就已经获得,不需要显式的初始化赋值(原因在于对象的构造函数) Car Suzuki;(此时Suzuki没有值) Suzuki = new Car();(此时Suzuki对象有初始化值了,这里发生了对象的构造,并赋予初值) 值类型和引用类型区别总结 1.值类型的数据存储在内存的栈中;引用类型的数据存储在内存的堆中,而内存单元中只存放堆中对象的地址。 2.值类型存取速度快,引用类型存取速度慢。 3.值类型表示实际数据,引用类型表示指向存储在内存堆中的数据的指针或引用 4.值类型继承自System.ValueType,引用类型继承自System.Object 5.栈的内存分配是自动释放;而堆在.NET中会有GC来释放 内容提要 值类型和引用类型介绍 值类型使用 结构 枚举 引用类型使用 数组 集合 使用结构 结构体类型的必要性 有时需要将不同类型的数据组合成一个有机的整体,以便于引用。这些组合在一个整体中的数据是互相联系的。 例如,一个学生的学号、姓名、性别、年龄、成绩、家庭地址等项。这些项都与某一学生相联系。可以看到性别(sex)、年龄(age)、成绩(score)、地址(addr)是属于学号为10010和名为“Li Fun”的学生的。 如果将num、name、sex、age、score、addr分别定义为互相独立的简单变量,难以反映它们之间的内在联系。 使用结构 结构体类型的概念 应当把它们组织成一个组合项,在一个组合项中包含若干个类型不同(当然也可以相同)的数据项。 C#语言允许用户自己指定这样一种数据结构,它称为结构体(struct)。 使用结构 结构是值类型的数据类型。 当您希望由一个变量来保持各种数据类型的相关数据时,您可以创建一个结构。 创建结构要使用struct 关键字。 以下代码显示结构数据类型的语法: struct Bill_Details { public string inv_No; // 发票号 public string ord_Dt; // 定单日期 public string custName; // 客户姓名 public string product; // 产品名 public double cost; // 产品费用 public double due_Amt; // 应付款总计 } 使用结构 结构体类型定义的一般形式 声明一个结构体类型的一般形式为 struct 结构体名 {成员表列} 上面由程序设计者指定了一个新的结构体类型struct Bill_Details (struct是声明结构体类型时所必须使用的关键字,不能省略) 应当说明struct Bill_Details是一个类型名,它和系统提供的标准类型(如int、char、float、double等)一样具有
您可能关注的文档
最近下载
- 高职“岗、课、赛、证、训、创”六位一体人才培养模式研究——以人工智能应用技术专业为例.pdf
- 永辉超市营运资金管理存在的问题及对策分析_20250126_225505.docx VIP
- 第四章 多彩的光之凸透镜专题(课件)中考物理一轮复习(沪科版).pptx VIP
- 经皮内镜下胃(空肠)造口术临床应用中国专家共识(2024版).docx VIP
- 机械制图 全套课件.ppt
- 民航旅客服务从业人员劳动竞赛试题库400题(供参考).docx
- 《TM-261A、461A使用说明书》.pdf
- 工业园物业服务工业园安全秩序管理方案.doc
- 2024年计量专业实务与案例分析二级参考答案.docx
- 《学前教育法》知识考试题库100题(含答案).docx
文档评论(0)