请问如何在VB里定义一个数组? vb定义数组并赋值

数组

如果有过用其它语言编程的经历,那么想必会熟悉数组的概念。由于有了数组,可以用相同名字引用一系列变量,并用数字(索引)来识别它们。在许多场合,使用数组可以缩短和简化程序,因为可以利用索引值设计一个循环,高效处理多种情况。数组有上界和下界,数组的元素在上下界内是连续的。因为VisualBasic对每一个索引值都分配空间,所以不要不切实际声明一个太大的数组。

注意这一部分讨论的数组是程序中声明的变量数组。它们不同于控件数组,控件数组是在设计时通过设置控件的Index属性规定的。变量数组总是连续的;与控件数组不同的是,不能从一个数组的中部加载或卸载数组元素。

一个数组中的所有元素具有相同的数据类型。当然,当数据类型为Variant时,各个元素能够包含不同种类的数据(对象、字符串、数值等等)。可以声明任何基本数据类型的数组,包括用户自定义类型(请参阅“再论编程”中的“创建自己的数据类型”)和对象变量(请参阅“用对象编程”)。

在VisualBasic中有两种类型的数组:固定大小的数组—它总是保持同样的大小,以及在运行时大小可以改变的动态数组。在本章后面的“动态数组”中将要详细讨论动态数组。

声明固定大小的数组

有三种方法声明固定大小的数组,用哪一种方法取决于数组应有的有效范围:

建立公用数组,在模块的声明段用Public语句声明数组。

建立模块级数组,在模块的声明段用Private语句声明数组。

建立局部数组,在过程中用Private语句声明数组。

设定上下界

声明数组时,在数组名之后跟一个用括号括起来的上界。上界不得超过Long数据类型的范围(-2,147,483,648到2,147,483,647)。例如,下列数组声明可出现在模块的声明段:
请问如何在VB里定义一个数组? vb定义数组并赋值

DimCounters(14)AsInteger'15个元素。

DimSums(20)AsDouble'21个元素。

为建立公用数组,直接用Public取代Dim。

PublicCounters(14)AsInteger

PublicSums(20)AsDouble

在过程之中同样的声明使用Dim:

DimCounters(14)AsInteger

DimSums(20)AsDouble

第一个声明建立了一个有15个元素的数组,其索引号从0到14。第二个声明建立了一个有21个元素的数组,其索引号从0到20。缺省的下界为0。

为了规定下界,用关键字To显式提供下界(为Long数据类型):

DimCounters(1To15)AsInteger

DimSums(100To120)AsString

在前述声明中,Counters的索引值范围从1到15,而Sums的索引值范围从100到200。

包含其它数组的数组

有可能建立Variant数据类型数组,并与不同数据类型的数组共居一处。以下代码建立两个数组,一个包含整数,而另一个包含字符串。然后声明第三个Variant数组,并将整数和字符串数组放置其中:

PrivateSubCommand1_Click()

DimintXAsInteger'声明计数器变量。

'声明并放置整数数组。

DimcountersA(5)AsInteger

ForintX=0To4

countersA(intX)=5

NextintX

'声明并放置字符串数组。

DimcountersB(5)AsString

ForintX=0To4

countersB(intX)="hello"

NextintX

DimarrX(2)AsVariant'声明拥有两个成员的新数组。

arrX(1)=countersA()'将其它数组移居到数组。

arrX(2)=countersB()

MsgBoxarrX(1)(2)'显示每一个数组的成员。

MsgBoxarrX(2)(3)

EndSub

多维数组

有时需要追踪记录数组中的相关信息。例如,为了追踪记录计算机屏幕上的每一个像素,需要引用它的X、Y坐标。这时应该用多维数组存储值。

可用VisualBasic声明多维数组。例如,下面的语句声明了一个过程内的10×10的二维数组。

StaticMatrixA(9,9)AsDouble

可用显式下界来声明两个维数或两个维数中的任何一个:

StaticMatrixA(1To10,1To10)AsDouble

可以将所有这些推广到二维以上的数组。例如:

DimMultiD(3,1To10,1To15)

这个声明建立了三维数组,大小为4×10×15。元素总数为三个维数的乘积,为600。

注意在增加数组的维数时,数组所占的存储空间会大幅度增加,所以要慎用多维数组。使用Variant数组时更要格外小心,因为他们需要更大的存储空间。

用循环操作数组

可以用For循环嵌套有效的处理多维数组。例如,在MatrixA中基于每个元素在数组中的位置为其赋值:

DimIAsInteger,JAsInteger

StaticMatrixA(1To10,1To10)AsDouble

ForI=1To10

ForJ=1To10

MatrixA(I,J)=I*10+J

NextJ

NextI

详细信息关于循环的详细信息,请参阅本章后面的“循环结构”部分。

  

爱华网本文地址 » http://www.413yy.cn/a/25101012/132922.html

更多阅读

如何在unity3d中创建天空 unity3d 天空盒子

如何在unity3d中创建天空——简介我们玩各种各样的网络游戏,都会给人一种感觉,那就是觉得这个游戏世界似乎很大、很宽广。这里主要是因为天空盒的原因。有了天空盒,会突然让玩家觉得,这个游戏世界很美,很大。这里简单介绍一下如何在unity

如何在photoshop CS4中调出喷枪效果 photoshop cs4

如何在photoshop CS4中调出喷枪效果——简介大家都知道在CS 5及以上都有一个喷枪工具,然而CS 4却没有。今天坐禅就来教大家怎么设置在CS 4里的“喷枪”工具。如何在photoshop CS4中调出喷枪效果——工具/原料电脑一枚photoshop CS4

如何在Win8系统上建立WIFI热点 精 win7系统建立wifi热点

如何在Win8系统上建立WIFI热点 精——简介 2012年10月26日,微软正式推出Windows 8操作系统,不少用户也都升级到了最新的Win8。大家知道,在Win7系统下,我们很方便的就在命令提示符下建立了WIFI热点,那么Win8上是否同样可以呢?我以实际体验

如何在iTunes下载好听的歌曲 2016好听歌曲打包下载

如何在iTunes下载好听的歌曲——简介iTunes作为苹果设备的官方管理工具,除了可以帮助手机用户完成iOS固件升级外,同时还可以下载一些来自国外的好听音乐,本经验就会告诉大家如何通过iTunes来下载国外音乐。如果大家觉得稍显麻烦,随后第

声明:《请问如何在VB里定义一个数组? vb定义数组并赋值》为网友学神学成神经病分享!如侵犯到您的合法权益请联系我们删除