中易网

vb中 ReDim stMst(-1 To -1)是什么作用的,求解?????

答案:2  悬赏:50  
解决时间 2021-02-16 15:17
vb中 ReDim stMst(-1 To -1)是什么作用的,求解?????
最佳答案
简单点说
dim 声明变量
redim 重新声明变量(清空变量原有数据)
redim preserve 重新声明变量(保留变量原有数据)
redim 一般是用在数组上的
有时一开始用dim 声明数组变量的时候,不知道数据的范围所以有
dim a() as integer
然后通过计算求出数组的范围,那么就需要重新声明,这里有
redim a(0 to 9)

还有一种情况是 随着循环数次的递增
dim a() as integer
dim b as integer
do while b<10
redim preserve a(b)
a(b)=int(rnd*1000)
b=b+1
loop
这样可以在不清空原数组内容的情况下,保存新增数据
全部回答
ReDim stMst(-1 To -1) 是指重新定义 stMst 数组函数维数。在这里定义维数为 stMst(-1)。 关于ReDim 语句说明。 在过程级别中使用,用于为动态数组变量重新分配存储空间。 语法 ReDim [Preserve] varname(subscripts) [As type] [, varname(subscripts) [As type]] . . . ReDim 语句的语法包括以下几个部分: 部分 描述 Preserve 可选的。关键字,当改变原有数组最末维的大小时,使用此关键字可以保持数组中原来的数据。 varname 必需的。变量的名称;遵循标准的变量命名约定。 subscripts 必需的。数组变量的维数;最多可以定义 60 维的多维数组。subscripts 参数使用下面的语法: [lower To] upper [,[lower To] upper] . . . 如果不显式指定 lower,则数组的下界由 Option Base 语句控制。如果没有 Option Base 语句则下界为 0。 type 可选的。变量的数据类型;可以是 Byte、Boolean、Integer、Long、Currency、Single、Double、Decimal(目前尚不支持)、Date、String(对变长的字符串)、String * length(对定长的字符串)、Object、Variant、用户定义类型或对象类型。所声明的每个变量都要有一个单独的 As type 子句。对于包含数组的 Variant 而言,type 描述的是该数组的每个元素的类型,不能将此 Variant 改为其它类型。 说明 ReDim 语句用来定义或重定义原来已经用带空圆括号(没有维数下标)的 Private、Public 或 Dim 语句声明过的动态数组的大小。 可以使用 ReDim 语句反复地改变数组的元素以及维数的数目,但是不能在将一个数组定义为某种数据类型之后,再使用 ReDim 将该数组改为其它数据类型,除非是 Variant 所包含的数组。如果该数组确实是包含在某个 Variant 中,且没有使用 Preserve 关键字,则可以使用 As type 子句来改变其元素的类型,但在使用了此关键字的情况下,是不允许改变任何数据类型的。 如果使用了 Preserve 关键字,就只能重定义数组最末维的大小,且根本不能改变维数的数目。例如,如果数组就是一维的,则可以重定义该维的大小,因为它是最末维,也是仅有的一维。不过,如果数组是二维或更多维时,则只有改变其最末维才能同时仍保留数组中的内容。下面的示例介绍了如何在为已有的动态数组增加其最末维大小的同时而不清除其中所含的任何数据。 ReDim X(10, 10, 10) . . . ReDim Preserve X(10, 10, 15) 同样地,在使用 Preserve 时,只能通过改变上界来改变数组的大小;改变下界则会导致错误。 如果将数组改小,则被删除的元素中的数据就会丢失。如果按地址将数组传递给某个过程,那么不要在该过程内重定义该数组的各维的大小。 在初始化变量时,数值变量被初始化为 0,变长的字符串被初始化为一个零长度的字符串 (""),而定长的字符串则用 0 填充。Variant 变量被初始化为 Empty。用户自定义类型的变量的每个元素作为各自独立的变量进行初始化。在使用引用对象的变量之前,必须使用 Set 语句将一个已有的对象赋给该变量。在被赋值之前,所声明的对象变量有一个特定值 Nothing,这个值表示该变量没有指向任何对象的实例。 小心 如果 ReDim 语句所使用的变量在模块级别或过程级别不存在,则该语句就相当于一个声明语句。如果此后在一个更广的范围内又创建了同名的变量,即使使用了 Option Explicit,ReDim 也将使用后声明的这个变量,且不会导致编译错误。为了避免这种冲突,就不应把 ReDim 作为声明语句使用,而只应作为重定义数组大小的语句。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
中信银行杭州玉泉支行停车场这个地址在什么地
动漫:甘城的光辉乐园有无修有修之分吗?
J字母什么意思
如何让腾讯地图收藏的站点一起显示。或者有没
勒陈(2)桥我想知道这个在什么地方
金球康谊店在什么地方啊,我要过去处理事情
小鸟情人中如何抓鸟
中国移动旺角手机大卖场地址在哪,我要去那里
请教关于家具店销售家具一账务处理问题
北梁新区南一区南区西门在什么地方啊,我要过
范冰冰《苹果》浴室戏谁有?
绥宁县科技情报研究所这个地址在什么地方,我
威龙网吧在哪里啊,我有事要去这个地方
人长期是用含盐量较高的地下水有什么坏处
D3131动车始发站在那里
推荐资讯
浅议如何上好体育优质课
驾驶客车在山区、桥梁、高速公路遇紧急情况避
余温繁体字
苏轼爱和和尚打交道,其中一个北宋明僧叫什么?
中国人寿交了10年了,本人65岁了可以退保吗
去旅游散客和团是怎么回事,我们是散客,就要
杀字加部首是什么
不知如何更好的评价香港青少年管弦乐队在香港
tinyxml.dll丢失怎么办
日军坦克碰上苏军坦克有多惨:像是数量庞大
我是2011届的考生,南京艺术学院专业成绩排名
颈椎摔伤压迫神经,手术后,能恢复,走路吗
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?