定义数组方法的ASP技术

定义数组方法的ASP技术
数组是一组有序的数据。在一个数组中不属于同一数据类型的元素。使用统一的数组名下标来唯一地确定数组中的元素,一个元素的改变不会影响到其他的元素。数组的下标为界,将其分为下部和上部的界限。阵列可以朦胧的,私人的,公共的,或静态声明,及其语法格式是相同的。以下是声明数组与暗淡的唯一途径。

1的定义和声明。阵列

数组的定义语法如下所示:

将下标数组名为。下界{作为数据类型}的上界

例如,假设当前模块中数组的默认值为0):

(1)模糊a(10)为整数。

数组名是A,数组下标的下限是默认值0,下标上限是10,有11个整数类型元素,从A(0),A(1)到A(10)。

模糊B(1到20)为整数

这意味着数组名是B,数组下标的下限是1,下标上限是20,有20个整数类型元素,从B(1)到B(20)。

(3)(50)dayarray暗淡

dayarray是具有51个指标变量数组(从0到50)。

(4)弱矩阵(3, 4)为整数。

这意味着矩阵是一个二维整数数组。

Dim MyMatrix(1~5, 4 9, 3~5)倍

mymatrix是一个三维双数组中明确指定的上界和下界。

暗淡的生日(1到10)日期

生日是一个日期类型数组,索引从1到10。

2、选项基语句

在模块级使用选项基语句声明数组下标的默认下限。

选项基语句的语法如下所示:

{ 1 } |期权基础0

描述:在默认状态下,数组的下限为0,此时不需要使用选项基语句。如果使用此语句指定数组1的下限,则在模块的数组声明之前必须使用选项基语句。

小心 uff1a

(1)对在昏暗的,私人的,公共的,ReDim的条款,和静态报表提供了更灵活的方式来控制数组的下标。然而,如果条款不明确指定选项的下界,底座可设置默认下限的下限1。对阵列功能创建选项基础语句指定了一个下界的决定使用一个数组,除非阵列由一个类型库(如VBA。阵列)是由名称限定的定义,如果类型库名称,下按选项使用数组函数创建数组约束作用。

(2)选项基语句只影响包含声明的模块中数组的下限。

关于数组声明的几点:

(1)数组名称的名称规则与变量名相同。

数组名称使用括在方括号中的圆括号,与C语言不同。

下标的下边界不能大于下标的上边界。

(4)下标的边界由变量名或常量名(和实数)组成。当下标的边界为常数名时,数组的大小是固定的。当下标的边界为变量名时,可以动态定义数组的大小,即数组的大小取决于运行过程中变量的值,因此,VB中的数组可以分为两种数组:静态数组、动态数组。

三.静态数组

静态数组是指数组元素的数目是固定的,即占用的内存空间大小是固定的,根据固定大小数组的维数,可以分为一维数组和多维数组。

多维数组的语法格式被声明为:

模糊数组名称({下标边界列表}){作为数据类型}

下标边界的定义:{下界到}下标上界的下界

下标边界列表是由逗号分隔的数组的每个维度的下标边界,即,

{下界到}下标到上界,下标下下界到}下标上边界,…{下界到}下标上界

(第一个维度)(第二个维度)(ND)

当n=1时,数组被称为一维数组;当n=2时,数组被称为二维数组;反过来,当n=m时,数组称为m维数组。

下面的例子介绍了一维数组的用法。

有一个长度为51的字符串数组friendsname申报

昏暗的friendsname(50)为字符串

声明一个长度为11的全局整型数组类

公共类(10)为整数

一维数组中的元素数是(上下绑定+ 1)。

循环语句可用于将初始值赋给数组,例如:

模糊i为整数

对于i = 0到11的循环语句使用程序流控制

c(i)= i

下一个我

如果下标的下界没有显式指定,则数组下标的下限由选项基语句控制,如果没有选择基语句,下界为0。

数组的维数不限于2。在VB中,它可以扩展到60。在实际应用中,对三多个数组的应用并不多,在定义多维数组时,只需要一个模糊语句来指定数组的所有下标边界。利用多维数组可以很方便地表达一些有意义的统计数据:

昏暗的利润(16,10,12)作为货币

这个利润阵列可以用来代表一个百货店,每月的利润部门和参数。例如,利润(2,8,11)代表了在十一月第八的第二分支部门的利润。

4。动态数组

有时在使用阵列,你可以不知道大的数组来满足实际的需要。当然,这个数组的大小可以定义满足任意应用的实际需要,这种方法效率很低(浪费内存空间)。如果一个动态数组的使用该数组的大小可以在程序的实际需求的基础上准确的定义。

在声明数组时,没有维度列表是将数组声明为动态数组:

Dim MyArry()为整数

在使用动态数组,一个ReDim语句必须被用来重新定义。作为阵列的MyArry以前的说法,你可以使用下面的语句来定义它是一个动态的二维数组。

ReDim MyArry(10,10)

动态数组也可以通过重复ReDim语句定义的许多倍。尺寸可以定义ReDim数是60。ReDim的声明可以改变每一个尺寸的数组元素的个数,但它不能改变尺寸。以下为ReDim语句标准应用实例。

Dim MyArry()作为单一的声明动态数组

ReDim MyArry(30,20,10)定义一个数组

ReDim MyArry(50,23,21)重新定义一个数组

ReDim语法的,昏暗的相同,此外,它还具有保持关键词的选择:

ReDim Preserve数组名({ { {下标下标上界下界} }){数据类型}

例如:
ReDim MyArry(50,23,21)

ReDim Preserve MyArry(50,23,50)
注意:使用ReDim重新定义数组时,数组元素的值都消失,和保存使用可保持数据。但使用保存只能改变数组的最后一个维度的大小,并保持数据的一维数组,所有数据将被保留。对于多维数组,只有最后一个维度的大小可以更改,以便保存所有数组数据,否则将是错误的。

5.lbound函数和函数

两LBound函数和函数返回一个长型数据。前者得到可用数组维数所能使用的最小下标,后者得到最大下标,其语法为:

LBound(数组名{,}指定尺寸)

UBound(数组名{,}指定尺寸)

数组名是必需的。指定的维度是可选的,表示返回一个维度的下限。1是第一个维度,2个维度是第二个维度,等等。如果指定的维度被省略,默认值是1。

看下一个例子如何使用LBound函数和函数。

a(1 100,3,3至4)为整数的定义一个三维数组,假设没有选项基础报表是用来改变数组的下界的默认值。

使用LBound和UBound数组函数,返回值的列表如下

默认的下界所有尺寸取决于期权基础报表的设置。可以看出,使用LBound函数和函数的数组可以用来确定数组中元素的数量。

对于一个数组,该数组在声明中使用与子句关联的维度,它们可以使用任何整数作为下限而不受选项基语句的限制。

6的高级功能。阵列

虽然数组最常用于存储变量组,但数组在其他方面也很有用,可以将数组的内容分配给另一个数组,创建一个返回数组的函数,并创建一个返回数组的属性。

正如你可以分配一个变量对另一个变量的值,如战略= StrB,你还可以指定数组的另一个数组的内容。例如,你想复制一段阵列从一个位置到另一个位置。它可以通过复制每一个字节的时间实施和程序如下:

Sub ByteCopy(oldcopy()作为新的副本()字节,字节)

参数oldcopy()是源阵列,新的副本()是对象数组

模糊i为整数

ReDim newCopy(LBound(oldcopy)到UBound(oldcopy))重新定义动态数组

我= LBound(oldcopy)到UBound(oldcopy)的循环任务

NewCopy(我)= oldcopy(我)

下一个

端子

一个更高效简单的方法是将数组直接赋值给另一个数组。
Sub ByteCopy(oldcopy()作为新的副本()字节,字节)

参数oldcopy()是源阵列,新的副本()是对象数组

新的副本= oldcopy使用数组直接赋值

端子
对于变量赋值有一些规则需要记住,例如,可以将一个可以被声明为整数的变量赋给一个被称为长整数的变量,这样就不会有问题了。然而,如果一个长整型变量赋给一个整数变量,很容易导致溢出错误。除了以下的数据类型之间的分配规则,数组赋值也听一些其他规则,包括数组的维度,每个维度的大小,以及是否是固定的或动态数组。

考虑不同维度和数据类型的数组赋值值的几个因素

1,赋值左边的数组类型:固定数组(暗X(1到10)为整数)或动态数组(暗X()作为整数)。

2。赋值字符的左数组的维度是否与右边的赋值字符数组的维度相匹配。

三.是否在每个阵列的分配器各维度的元素个数相匹配。即使数组的声明不同,尺寸可以匹配。例如,对一个数组的元素个数从0和其他从1开始,和尺寸也可以匹配。

4。分配双方所有元素的数据类型必须是一致的,这些规则与变量赋值规则一致。
在数组赋值错误可能发生在编译时或运行时(例如,如果数据类型不能强迫或分配,试图重新定义(REDIM)一个静态数组)。错误处理被添加到设计程序以确保阵列匹配之前的分配。

编写返回数组的函数。

从函数返回一组值是可能的。例如,从一个函数返回一组字节,而不是转换成一个字符串,然后再返回。

下面是使用返回一个字节数组的函数的一个简单示例:

私有子form_load()

作为字节的模糊B

模糊i为整数

昏暗的returnarray()字节

B = cbyte(54)

returnarray()= arrayfunction(B)的调用函数

我= LBound(returnarray)到UBound(returnarray)

Msgbox ReturnArray(我)通过一个弹出消息框的值循环显示阵列

下一个

端子
公共功能arrayfunction(B为字节)字节()

将x(2)作为字节

x(0)= b

x(1)= B + cbyte(200)

x(2)= B + B

arrayfunction = x返回数组x

端功能
运行上面的例子后,returnarray()是三个元素的数组,其中包含分配给该arrayfunction数组的值,arrayfunction语句传递一个数组作为参数;和数组的数据类型必须作为函数的数据类型相同的(在这种情况下,它是一个字节)。因为这是一个函数调用,这是没有必要进行阵列与括号传递数组时。

小心 uff1a

1,虽然它可以恢复到另一个数组的赋值数组(arrayfunction = X()),这种方法是不推荐的性能考虑。

2,必须为返回数组的函数指定一个类型,它可以是可变的。

3,在调用返回数组的函数时,用于存储返回值的变量也必须是数组,其数据类型必须与函数返回类型相同,否则将显示类型不匹配错误。

这是小编辑和共享ASP定义数组的方式,感兴趣的合作伙伴可以参考它。

tag:数组方法定义技术电脑软件ASP

相关内容