VB数组详解
(2019-02-18 10:52:38)
标签:
vb数组详解 |
分类: 程序设计_VB |
数组必须先定义(声明),然后才能赋值。
下面全面讲解数组的相关知识:
数组的概念
1.引例
求100个学生的平均成绩及超过平均成绩的人数。
如果用一般变量来表示成绩,需要用100个变量,如:mark1、mary2、……mark100。若用数组,可以只用一个来表示mark(1
To 100)。
2.基本概念
数组:是同类型变量的一个有序的集合。
如:A(1To 100),表示一个包含100个数组元素的名为A的数组。
数组元素: 即数组中的变量。用下标表示数组中的各个元素。
表示方法:数组名(P1,P2,……)
其中P1、P2表示元素在数组中的排列位置,称为“下标”。
如:A(3,2)代表二维数组A中第3行第2列上的那个元素。
数组维数: 由数组元素中下标的个数决定,一个下标表示一维数组,二个下标表示二维数组。
VB中有一维数组、二维数组、……最多60维数组。
下标: 下标表示顺序号,每个数组有一个唯一的顺序号,下标不能超过数组声明时的上、下界范围。下标可以是整型的常数、变量、表达式,甚至又是一个数组元素。
下标的取值范围是:下界 To 上界 ,缺省下界时,系统默认取0。
3.数组声明
数组必须先声明后使用。声明数组就是让系统在内存中分配一个连续的区域,用来存储数组元素。
声明内容:数组名、类型、维数、数组大小。
一般情况下,数组中各元素类型必须相同,但若数组为Variant时,可包含不同类型的数据。
静态数组:声明时确定了大小的数组。
动态数组: 声明时没有给定数组大小(省略了括号中的下标),使用时需要用ReDim语句重新指出其大小。
静态数组及声明
1. 一维数组
静态一维数组的声明形式:
Dim 数组名(下标) [As 类型]
说明:(1)下标必须为常数,不可以为表达式或变量;
(2)下标下界最小为-32768,最大上界为32767;省略下界,其默认值为为0,一维数组的大小为:上界-下界+1
(3) 如果省略类型,则为变体型
例: (1) Dim A(10) As Integer
声明了A是数组名、整型、一维数组、有11个元素,下标的范围是0~10。
(2) Dim B(-3 To 5) As String*3
声明了B是数组名、字符串型、一维数组、有9个元素,下标的范围是-3~5,每个元素最多存放3个字符。
2.多维数组
静态多维数组的声明形式:
Dim 数组名(下标1[,下标2…]) [As 类型]
说明: (1)下标个数决定数组的维数,最多60维。
(2)每一维的大小=上界-下界+1;数组的大小=每一维大小的乘积。
例:Dim C(-1To 5, 4) As Long
声明了C是数组名、长整型、二维数组、第一维下标范围为-1~5,第二维下标的范围是0~4,占据7x 5个长整型变量的空间。
3.注意事项
(1)在有些语言中,下界一般从1开始,为了便于使用,在VB的窗体层或标准模块层用Option Base n 语句可重新设定数组的下界,如Option Base 1。
(2) 在数组声明中的下标关系到每一维的大小,是数组说明符,而在程序其他地方出现的下标为数组元素,两者写法相同,但意义不同。
(3) 在数组声明时的下标只能是常数,而在其他地方出现的数组元素的下标可以是变量。
动态数组及声明
1. 动态数组的建立与声明
建立动态数组的方法是:利用Dim、Private、Public语句声明括号内为空的数组,然后在过程中用ReDim语句指明该数组的大小。语法是:
ReDim 数组名(下标1[,下标2…]) [As 类型]
其中下标可以是常量,也可以是有了确定值的变量,类型可以省略,若不省略,必须与Dim中的声明语句保持一致。
例: Dim D() As Single
Sub Form_Load()
……
ReDim D(4,6)
……
End Sub
2.注意事项
(1)在动态数组ReDim语句中的下标可以是常量,也可以是有了确定值的变量;
(2)在过程中可以多次使用ReDim来改变数组的大小,也可改变数组的维数。
(3)每次使用ReDim语句都会使原来数组中的值丢失,可以在ReDim语句后加Preserve参数来保留数组中的数据,但使用Preserve只能改变最后一维的大小,前面几维大小不能改变。
使用动态数组的优点是根据用户需要,有效地利用存储空间,它是在程序执行到ReDim语句时才分配存储单元,而静态数组是在程序编译时分配存储单元。
下面全面讲解数组的相关知识:
数组的概念
1.引例
求100个学生的平均成绩及超过平均成绩的人数。
如果用一般变量来表示成绩,需要用100个变量,如:mark1、mary2、……mark100。若用数组,可以只用一个来表示mark(1
To 100)。
2.基本概念
数组:是同类型变量的一个有序的集合。
如:A(1To 100),表示一个包含100个数组元素的名为A的数组。
数组元素: 即数组中的变量。用下标表示数组中的各个元素。
表示方法:数组名(P1,P2,……)
其中P1、P2表示元素在数组中的排列位置,称为“下标”。
如:A(3,2)代表二维数组A中第3行第2列上的那个元素。
数组维数: 由数组元素中下标的个数决定,一个下标表示一维数组,二个下标表示二维数组。
VB中有一维数组、二维数组、……最多60维数组。
下标: 下标表示顺序号,每个数组有一个唯一的顺序号,下标不能超过数组声明时的上、下界范围。下标可以是整型的常数、变量、表达式,甚至又是一个数组元素。
下标的取值范围是:下界 To 上界 ,缺省下界时,系统默认取0。
3.数组声明
数组必须先声明后使用。声明数组就是让系统在内存中分配一个连续的区域,用来存储数组元素。
声明内容:数组名、类型、维数、数组大小。
一般情况下,数组中各元素类型必须相同,但若数组为Variant时,可包含不同类型的数据。
静态数组:声明时确定了大小的数组。
动态数组: 声明时没有给定数组大小(省略了括号中的下标),使用时需要用ReDim语句重新指出其大小。
静态数组及声明
1. 一维数组
静态一维数组的声明形式:
Dim 数组名(下标) [As 类型]
说明:(1)下标必须为常数,不可以为表达式或变量;
(2)下标下界最小为-32768,最大上界为32767;省略下界,其默认值为为0,一维数组的大小为:上界-下界+1
(3) 如果省略类型,则为变体型
例: (1) Dim A(10) As Integer
声明了A是数组名、整型、一维数组、有11个元素,下标的范围是0~10。
(2) Dim B(-3 To 5) As String*3
声明了B是数组名、字符串型、一维数组、有9个元素,下标的范围是-3~5,每个元素最多存放3个字符。
2.多维数组
静态多维数组的声明形式:
Dim 数组名(下标1[,下标2…]) [As 类型]
说明: (1)下标个数决定数组的维数,最多60维。
(2)每一维的大小=上界-下界+1;数组的大小=每一维大小的乘积。
例:Dim C(-1To 5, 4) As Long
声明了C是数组名、长整型、二维数组、第一维下标范围为-1~5,第二维下标的范围是0~4,占据7x 5个长整型变量的空间。
3.注意事项
(1)在有些语言中,下界一般从1开始,为了便于使用,在VB的窗体层或标准模块层用Option Base n 语句可重新设定数组的下界,如Option Base 1。
(2) 在数组声明中的下标关系到每一维的大小,是数组说明符,而在程序其他地方出现的下标为数组元素,两者写法相同,但意义不同。
(3) 在数组声明时的下标只能是常数,而在其他地方出现的数组元素的下标可以是变量。
动态数组及声明
1. 动态数组的建立与声明
建立动态数组的方法是:利用Dim、Private、Public语句声明括号内为空的数组,然后在过程中用ReDim语句指明该数组的大小。语法是:
ReDim 数组名(下标1[,下标2…]) [As 类型]
其中下标可以是常量,也可以是有了确定值的变量,类型可以省略,若不省略,必须与Dim中的声明语句保持一致。
例: Dim D() As Single
Sub Form_Load()
……
ReDim D(4,6)
……
End Sub
2.注意事项
(1)在动态数组ReDim语句中的下标可以是常量,也可以是有了确定值的变量;
(2)在过程中可以多次使用ReDim来改变数组的大小,也可改变数组的维数。
(3)每次使用ReDim语句都会使原来数组中的值丢失,可以在ReDim语句后加Preserve参数来保留数组中的数据,但使用Preserve只能改变最后一维的大小,前面几维大小不能改变。
使用动态数组的优点是根据用户需要,有效地利用存储空间,它是在程序执行到ReDim语句时才分配存储单元,而静态数组是在程序编译时分配存储单元。
*********************************************************************************************
数组在使用之前必须先定义。
按数组占用存储空间的方式不同,分为两种数组:静态数组和动态数组。
静态数组的定义:Public|Private|Dim 数组名([下界1 To] 上界1,[下界2 To] 上界2,…) [As 类型],…
动态数组的定义:首先在模块级或过程级定义一个没有下标的数组 :
Public|Private|Dim 数组名()[As 类型],…
例:Dim A() As Integer
然后在过程级使用ReDim语句定义数组的实际大小:
ReDim [Preserve] 数组名([下界1 To] 上界1,[下界2 To] 上界2,…) [As 类型],…
例: ReDim A(1 To 10) As Integer
ReDim Preserve A(1 To 20) As Integer
在使用数组时,还可以通过数组操作函数完成一些操作。例如Array函数:Array(参数表)。:Array函数将其“参数表”的值构成数组的各元素值,并赋值给一个Variant类型的变量,注意只能赋值给Variant类型的变量,赋值后的数组大小由参数的个数决定,数组下标的下界由Option Base语句指定的下界决定。
例如:
Dim A
A = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
执行上述语句后数组A各元素值为:
A(0)=1,A(1)=2,A(2)=3,…,A(9)=10
按数组占用存储空间的方式不同,分为两种数组:静态数组和动态数组。
静态数组的定义:Public|Private|Dim 数组名([下界1 To] 上界1,[下界2 To] 上界2,…) [As 类型],…
动态数组的定义:首先在模块级或过程级定义一个没有下标的数组 :
Public|Private|Dim 数组名()[As 类型],…
例:Dim A() As Integer
然后在过程级使用ReDim语句定义数组的实际大小:
ReDim [Preserve] 数组名([下界1 To] 上界1,[下界2 To] 上界2,…) [As 类型],…
例: ReDim A(1 To 10) As Integer
ReDim Preserve A(1 To 20) As Integer
在使用数组时,还可以通过数组操作函数完成一些操作。例如Array函数:Array(参数表)。:Array函数将其“参数表”的值构成数组的各元素值,并赋值给一个Variant类型的变量,注意只能赋值给Variant类型的变量,赋值后的数组大小由参数的个数决定,数组下标的下界由Option Base语句指定的下界决定。
例如:
Dim A
A = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
执行上述语句后数组A各元素值为:
A(0)=1,A(1)=2,A(2)=3,…,A(9)=10
上面摘录至百度知道:
https://zhidao.baidu.com/question/2051664350070611547.html
https://zhidao.baidu.com/question/524838459.html
前一篇:VB操作EXCEL表的常用方法
后一篇:VB之ItemData属性