Visual Basic.NET程序设计课件 第4章 复合数据类型.ppt

上传人:小****库 文档编号:3375050 上传时间:2020-08-18 格式:PPT 页数:112 大小:1.34MB
返回 下载 相关 举报
Visual Basic.NET程序设计课件 第4章 复合数据类型.ppt_第1页
第1页 / 共112页
Visual Basic.NET程序设计课件 第4章 复合数据类型.ppt_第2页
第2页 / 共112页
亲,该文档总共112页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《Visual Basic.NET程序设计课件 第4章 复合数据类型.ppt》由会员分享,可在线阅读,更多相关《Visual Basic.NET程序设计课件 第4章 复合数据类型.ppt(112页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第 4 章 复合数据类型,4.1 数组 4.2 结构 4.3 集合 4.4 枚举,在实际问题中,有些数据对象是由若干个有关联的数据项构成的,这种复合型的数据难以用简单数据类型来表示和操作。,VB.NET提供了数组、结构、集合和枚举等复合数据类型,可以方便地组织实际问题中复杂的关联数据对象。 本章主要介绍数组、结构、集合和枚举等复合数据类型的一些基本知识及其应用。,4.1 数组,在实际应用中,常常要处理成批类型相同而且互相有关联的数据的情况。 例如,求某个班50名学生某门课程的平均成绩,若在程序中定义50个简单数据类型变量来表示这批数据,则编写程序时会感觉到很烦琐。 为了方便组织和处理这类相关联

2、的数据,可以使用数组。 数组分为一维数组、二维数组和多维数组。,1. 一维数组的概念 2. 一维数组说明 3. 一维数组元素的引用 4. 一维数组的输入与输出 5.一维数组的初始化,4.1.1 一维数组及其使用,一维数组是由一组同类型的数据构成。,在程序中使用的每个一维数组都要取名,这个名字称为一维数组名。一维数组的取名规则与变量的取名规则相同,即可以用标识符给一维数组取名。,例如,某个班所有学生的身高构成的一维数组可以取名为h。 又如,某个班所有学生某门课程的成绩构成的一维数组可以取名为S。,例如,某个班所有学生的身高就构成一个一维数组。 又如,某个班所有学生某门课程的成绩也构成一个一维数组

3、。,1. 一维数组的概念,2. 一维数组说明,数组必须先说明后使用。数组说明包括说明数组的名称、数组的维数、每一维的元素个数和数组元素的类型。 在计算机存储器中,数组占据一块连续的内存区域。 说明数组的主要目的是通知计算机为其留出所需要的存储空间。,一维数组说明语句的一般格式: Dim () As 或 Dim () 其中, Dim为定义数组的关键字; 是用户定义标识符; 圆括号“( )”用于说明数组的维数和数组长度(即数组元素个数)。圆括号“( )”中只有一个下标上界,表示该数组是一个一维数组; 一般为整型表达式。若为实数,则自动对其四舍五入取整。下标下界规定为0,即数组元素的个数为: +1;

4、 As 为可选项,用来指定数组元素的类型。 可以是%(整型)、 Dim、As和New为关键字; Collection为集合类的名字,它在.NET框架类库的System.Collections命名空间中定义。 例如,语句: Dim c As New Collection 定义了一个名为c的集合。 在程序中定义了集合之后,可以方便地向集合添加数据项、引用集合中的数据项和删除集合中的数据项。,4.3.2 向集合添加数据,向集合添加数据项需要使用Collection类的Add方法,语法格式: Public Sub Add ( Item As Object, Key As String, Before

5、As _ Object, After As Object ) 参数说明: Item参数为必选项,Object类型。用于指定要添加到集合中的元素。 这意味着在集合中可以存放类型相同或不同的数据项。 Key参数为可选项,String类型表达式。添加用指定字符串作为当前新元素的索引关键字。 一般地,集合中的索引值为整数(1Count),添加Key参数之后,这个字符串就增加了一个用于访问集合新元素的字符串索引。, Before参数和After参数为可选项,它通常是一个长整型数值表达式,取值范围在1Count之间,用于指定数据项添加到集合的位置。 选用Before参数时,数据项添加到Before参数所指

6、定位置的数据项之前; 选用After参数时,数据项添加到After参数所指定位置的数据项之后。 省略Before参数和After参数时,默认数据项添加到集合已有数据项的后面。 不能同时指定Before参数和After参数。,Add方法通过集合对象调用。一般调用格式: . Add ( , , , ) 例如: Dim colAs New Collection col.Add (李小平,0001 “) col.Add (王艳,0002“) col.Add (张向东,0003“) col=李小平, 王艳, 张向东,又如: Dim x As Object Dim b As New Collection

7、x=3.14159 : b.Add (x) x=1000 : b.Add (x) x=String : b.Add (x) x=Now : b.Add (x) x= 3.14159 , 1000, “String “, 当前日期,注意: Add方法的参数必须按Item、Key、Before、After的顺序给出,否则,必须给出参数的名字,并使用“:=”符号表示省略参数。 例如: Dim cola As New Collection cola.Add (key:= 0001,item:=李小平) cola.Add (key:= 0002,item:= 王艳) cola.Add (key:= 00

8、03,item:= 张向东),4.3.3 集合中数据的引用,引用集合中的数据项需要使用Item属性。Item属性可以用不同类型的索引方式指定集合元素。 Item属性定义的语法格式: Public ReadOnly Property Item ( Index As Integer ) As Object 其中,index为索引值,可以是整数值(相当数组的下标),也可以是引用数据项相应的索引字符串。 引用集合元素的形式: . Item ( ) 例如, col.Item(2)和 col.Item(0002) 都可以引用集合col中的第二个数据项。 说明: Item是集合类的常用属性,可以省略Item

9、,直接用括号引用集合变量的元素。 例如,引用集合col中的第二个数据项也可以表示为: col(2)和 col(0002 ),4.3.4 Contains方法,Contains方法用来判别集合中是否存在某个特定键值的数据项。 Contains方法的语法格式: Public Function Contains ( Key As String ) As Boolean 该方法返回一个Boolean值。若返回的值为True,则说明Key键值所指定的数据项在集合中;否则,说明集合不存在指定数据项。 调用Contains方法的形式: . Contains ( ) 例如: Dim b As Boolean

10、b = col.Contains(0002) b的值用于判别键值为0002的数据项是否在集合col中。,例4-10,把一个班的学生姓名存放到一个集合a中,学号作为索引关键字,输入一个学生学号,查找并输出相应的姓名。,Imports System.Console Imports System.Collections Module Module1 Sub Main() Dim n%, i%, name$, no$, x$, fno$ Dim a As New Collection Write( n = ) n = Val(ReadLine() 输入学生的总人数 For i = 1 To n Wri

11、te( name = ) name = ReadLine() Write( no = ) no = ReadLine() a.Add(name, no) Next i,WriteLine( 集合a中的数据项为: ) For Each x In a 遍历和输出集合中的数据项 WriteLine(x) Next x Write(fno = ) fno = ReadLine() 输入需查找学生的学号 If a.Contains(fno) Then 判断指定学号数据项是否在集合中 WriteLine(name =0, a.Item(fno) Else WriteLine(该学生不在这个班中!) End

12、 If End Sub End Module,4.3.5 删除集合中的数据,1Remove方法 删除集合中的指定数据项使用Remove方法,语法格式: Public Sub Remove (Index As Integer ) 或 Public Sub Remove ( Key As String ) 其中index和Key为索引值,可以是整数值和字符串,删除由索引值所指定的数据项。 调用Remove方法的形式: . Remove (或) 例如: col.Remove (2) 和 col.Remove (0002) 都可以删除集合col中的第二个数据项。,2Clear方法 删除集合中的所有数据

13、项可以使用Clear方法,Clear方法的语法格式: Public Sub Clear 调用形式: . Clear() Clear 方法清空集合并将集合的 Count 属性重置为 0。 例如: col.Clear() 删除集合col中所有数据项,置col. Count为0。,例4-11,从键盘上输入一些字符,以“#”结束,把输入的字符添加到集合C中,然后判断元音字母A或a是否在集合C中,删除集合C中的第m个数据项。,Imports System.Console Imports System.Collections Module Module1 Sub Main() Dim ch As Char

14、, i%, x$, m% Dim C As New Collection WriteLine(Enter characters,until input # :) ch = ReadLine() While ch # C.Add(ch) 把输入的字符添加到集合C中 ch = ReadLine() End While,WriteLine( 原集合C中的数据项为: ) For Each x In C Write(0 , x) Next x WriteLine() For i = 1 To C.Count 判断元音字母A或a是否在集合C中 If C(i) = A Or C(i) = a Then Wr

15、iteLine(元音字母A或a在集合C中! ) : GoTo 10 End If Next i WriteLine(元音字母A或a不在集合C中! ) 10: Write(m= ),m = ReadLine() 删除集合C中的第m个数据项 C.Remove(m) WriteLine( 新集合C中的数据项为: ) For Each x In C Write(0 , x) Next x WriteLine() End Sub End Module,4.4 枚举,一般地说,人们习惯使用一些有意义的、便于记忆的文字方式表示让计算机处理的信息。 例如,一个星期中的七天,用Monday、Tuesday、Sa

16、turday 、 Sunday表示; 一年中十二个月,用January、February、March、December表示; 各种颜色用Red、Green、Blue等表示。 使用这种表示数据的方法可以提高程序的可读性。为此, VB.NET提供了枚举类型。 所谓“枚举”是指把属于该枚举类型的所有可能值用标识符的形式一一列举出来,这些标识符称为枚举类型的成员。,4.4.1 枚举类型说明,枚举类型是用户定义类型,说明的一般格式: Enum End Enum 其中,是用户定义标识符; 成员为枚举类型的组成元素,为标识符,常量表达式是可选的,它用于指定成员名的值,它的类型默认为Long型。 枚举类型的可

17、访问性在默认情况下为Public,即在整个项目中可见。,例如,有语句: Enum Weekday Monday=1 Tuesday=2 Wednesday=3 Thursday=4 Friday=5 Saturday=6 Sunday=7 End Enum 说明了一个表示星期的某一天的枚举类型Weekday,其中一个星期中的枚举成员为Monday、Tuesday、Sunday分别为该枚举类型的成员,它们的值分别为1、2、7。,又如,语句: Enum Colors red=1 blue=2 green=3 End Enum 说明表示颜色的枚举类型Colors,其中red、blue和green分别

18、为该枚举类型的成员,它们分别表示红、蓝和绿3种颜色,它们的值分别为1、2和3。,说明: 枚举类型不能放在过程内部说明,可以放在标准模块、窗体模块和类模块中的过程前面说明,也可以放在标准模块、窗体模块和类模块的说明部分说明。 省略常量表达式时,成员1的值默认为0,成员2的值默认为1,成员n的值默认为n-1。 例如,由语句: Enum Colors red blue green End Enum 说明枚举类型Colors的成员red、blue和green默认指定的值分别为0、1和2。,4.4.2 枚举变量说明,说明枚举类型之后,可以说明该枚举类型的变量,使用枚举变量可以存储枚举常量值。 枚举类型变

19、量说明的一般形式: Dim , , As 其中,必须是已经说明了的枚举类型。 枚举类型变量的取值范围是指定的枚举成员常量值。 例如,语句: Dim Day1, Day2 As Weekday 说明了枚举类型Weekday的变量Day1和Day2,它们的值可以是Monday、Tuesday、Sunday中任何一个,也可以是1、2、7中任何一个。,4.4.3 枚举变量输入/输出,枚举类型变量说明之后,可以使用赋值语句给枚举类型变量赋值,亦即可以使用枚举类型变量存储枚举值。 例如:Day1= Weekday.Sunday 和 Day1=7 的执行效果是一样的。 也可以使用Console类的Read和

20、ReadLine方法输入枚举类型变量的值。 例如:Day1 = ReadLine() 枚举类型变量的输出可以使用Console类的Write方法和WriteLine方法。 例如: WriteLine( 0, Day1.ToString() 在该语句中使用了ToString()方法把枚举类型变量的值转换为相应的颜色名称显示出来。,例4-12,说明枚举类型Colors,用来表示颜色数据。从键盘上输入一个整数,输出相应的颜色名称。,Imports System.Console Module Module1 Enum Colors red=1 blue=2 green=3 End Enum Sub Main() Dim x As Colors,i% Write (输入一个整数:) x = ReadLine() Write (相应的颜色名称:) WriteLine( 0,x.ToString() End Sub End Module,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁