- 1、本文档共74页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 复合数据类型 [本章学习目标] 除了Visual Basic.NET提供的基础数据类型外,用户还能组装不同类型的项,以创建复合数据类型,例如结构、数组和类。复合数据类型可由基础数据类型创建,也可以由其他复合类型创建。例如,可以定义元素为结构类型的数组,或在结构中定义数组成员。与前面章节所介绍的简单变量相比,复合数据类型能很好地表达数据之间的关系,而简单数据类型的数据之间是孤立的、无关联的。 以1个图书馆的信息为例子,图书馆中有成1万种图书。每种图书都包含以下信息:书名(字符串类型)、中图分类号(字符串类型)、库存数量(整型数据类型)、借出数量(整型数据类型)、图书等级(整数类型)等5个信息。整个图书馆的信息可以用表4-1来表示。 ★ 表4-1 图书信息 若用简单数据类型来表达这些信息,整个图书馆的信息就需要5*10000个变量,变量之间的关系不能体现出来,而且如何管理这些变量就成为一大难题。比如,若是要知道图书馆哪种图书库存量最大、哪种图书借出率最高等信息,就很难从一大堆简单变量导出我们所需要的数据。在这种情况下,有必要使用复合数据来表达图书馆的图书信息 。 4.1 结构 4.1 结构 例如,对于图书信息,我们可以定义一个Book_info(图书信息)的结构,该结构包含书名、中图分类号、库存数量、借出数量、图书等级等5个信息,每一个用该结构定义的变量都包含一种的完整信息,给程序设计带来方便。 4.1.1 声明结构 结构是使用 Structure 语句作为结构声明的开始,可以使用 Public (Visual Basic)、Protected (Visual Basic)、Friend (Visual Basic) 或 Private (Visual Basic) 关键字指定结构的访问级别,默认为 Public。使用 End Structure 语句作为结构声明的结束。 在这两条语句之间必须至少声明一个“元素”。元素可以是任何数据类型,比如Integer、String等,甚至可以是另外一个结构类型。必须声明结构的每个元素并指定其访问级别。如果使用Dim 语句,则可访问性默认值为 Public。 结构内除了变量之外也可以在结构中定义Sub 过程和事件、常数、Function 过程和属性等。 声明一个Book_info结构代码如下: Public Structure Book_info Public Id As String 标准书号 Public Name As String 书名 Public Price As Single 单价 Public Num_stored As Integer 库存数量 Public Num_borrowed As Integer 借出数量 Public grade As Integer 是否属于教师参考 End Structure 创建了结构后,可将过程级变量和模块级变量声明为该类型。例如,以下代码定义Book1为Book_info结构的变量。 Dim Book1 As Book_info 结构变量Book1拥有5个成员,这样1个变量就可以表达1种图书,方便了程序设计。与基本数据类型变量不同,结构变量的信息是保存在它的成员中,可以通过使用成员访问运算符(.)来实现对结构变量成员的访问。例如,要对Book1的Name字段赋值,可用以下代码: Book1.ISBN = 711512280 Book1.Name = 光纤通信技术 Book1.Price = 25.5 Book1.Num_stored = 5 Book1.Num_borrowed = 3 Book1.gradef = 2 赋值后的结构变量Book1保存了《光纤通信技术》这本书的所有信息。 如果二者的结构类型相同,也可以将一个变量赋给另一个。这会将一个结构的所有元素值复制为另一结构中的相应元素。 例4-1:变量复制。 Public Sub main() Book1.ISBN = 711512280 Book1.Name = 光纤通信技术 Book1.Price = 25.5 Book1.Num_stored = 5 Book1.Num_borrowed = 3 Book1.gradef = 1 Dim Book2 As Book_info
您可能关注的文档
- SPSS数据分析:问题提出与实例导学 赵小军 理论+实验 课件 第07部分新.ppt
- SPSS数据分析:问题提出与实例导学 赵小军 理论+实验 课件 第08部分新.ppt
- SPSS数据分析:问题提出与实例导学 赵小军 理论+实验 课件 第10部分新.ppt
- SQL Server 2005实用教程 李伟红 第2章 SQL Server 2005常用工具新.ppt
- SQL Server 2005实用教程 李伟红 第5章 表中数据的操作新.ppt
- SQL Server 2005实用教程 李伟红 第6章 Transact SQL程序设计新.ppt
- SQL Server 2005实用教程 李伟红 第8章 索引的创建和使用新.ppt
- SQL Server 2005实用教程 李伟红 第10章 触发器的创建和使用新.ppt
- SQL Server 2005实用教程 李伟红 第11章 SQL Server的安全性管理新.ppt
- SQL Server 2005实用教程 李伟红 第13章 SQL Server数据转换新.ppt
- 2025江浙沪居民睡眠健康小调研报告.pdf
- 毕业论文的开题报告范文.docx
- 团委活动方案(拓展).docx
- 汽车智能驾驶行业深度报告:端到端与AI共振,智驾平权开启新时代.pdf
- 小核酸行业深度:技术平台和适应症不断验证,迎来销售和临床密集兑现期-华福证券-2025.3.31-65页.docx
- 医药生物行业医疗AI专题报告二多组学篇AI技术驱动精准诊断实现重要突破-25031440页.docx
- CXO行业系列报告三寒冬已过行业需求逐步回暖-25031430页.docx
- 全国租赁市场报告2025年3月_可搜索.pdf
- 玩具行业“情绪经济”专题:创新玩法+IP赋能,重新定义玩具-华鑫证券-2025.docx
- 医疗保健行业PCAB抑制剂药物深度报告抑酸药物市场空间广阔PCAB抑制剂大有可为-25.pdf
文档评论(0)