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

第四章 复合数据类型 [本章学习目标] 除了Visual Basic.NET提供的基础数据类型外,用户还能组装不同类型的项,以创建复合数据类型,例如结构、数组和类。复合数据类型可由基础数据类型创建,也可以由其他复合类型创建。例如,可以定义元素为结构类型的数组,或在结构中定义数组成员。与前面章节所介绍的简单变量相比,复合数据类型能很好地表达数据之间的关系,而简单数据类型的数据之间是孤立的、无关联的。 以1个图书馆的信息为例子,图书馆中有成1万种图书。每种图书都包含以下信息:书名(字符串类型)、中图分类号(字符串类型)、库存数量(整型数据类型)、借出数量(整型数据类型)、图书等级(整数类型)等5个信息。整个图书馆的信息可以用表4-1来表示。 ★ 表4-1 图书信息 若用简单数据类型来表达这些信息,整个图书馆的信息就需要5*10000个变量,变量之间的关系不能体现出来,而且如何管理这些变量就成为一大难题。比如,若是要知道图书馆哪种图书库存量最大、哪种图书借出率最高等信息,就很难从一大堆简单变量导出我们所需要的数据。在这种情况下,有必要使用复合数据来表达图书馆的图书信息 。 4.1 结构 4.1 结构 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 Book2 = Book1 MessageBox.Show(Book2.Name) Book1.Name = 通信原理 MessageBox.Show(Book2.Name)

文档评论(0)

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

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

1亿VIP精品文档

相关文档