VB中“Preserve”是什么意思?
3个回答
展开全部
打个比方吧:如果某班原来有53个学生,新转学来了2个同学,那么座位表就要重排了,重排的方法有两种,一种是全部座位清空,重新排位,即:
ReDim a(1 To 55) As Integer
那么这55个座位现在就是空的,你可以重新安排所有同学(包括新来的)的座位。另一种方法就是原来的53个学生的座位不变,新来的同学排在后面,即:
ReDim Preserve a(1 To 55) As Integer
这时候前面53个座位上坐的还是原来的同学,最后两个座位(即a(54)和a(55))则是空的,你可以安排新来的同学坐到这两个座位上去。
如果我这么解释你还是没听明白,那么恭喜你解脱了,从此你不用再学VB了。
ReDim a(1 To 55) As Integer
那么这55个座位现在就是空的,你可以重新安排所有同学(包括新来的)的座位。另一种方法就是原来的53个学生的座位不变,新来的同学排在后面,即:
ReDim Preserve a(1 To 55) As Integer
这时候前面53个座位上坐的还是原来的同学,最后两个座位(即a(54)和a(55))则是空的,你可以安排新来的同学坐到这两个座位上去。
如果我这么解释你还是没听明白,那么恭喜你解脱了,从此你不用再学VB了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
vb提供动态数组,所谓动态数组是指可以根据需要,动态的重新定义数组的规模大小。
一般:
'先定义一个不带下标的数组,然后在程序运行过程中,随时随地用ReDim改变数组的规模
Dim d() AS Integer
Dim i AS Integer
for i = 1 to 10
'第1次,重新定义规模为1,第2次,重新定义规模为2,......第10次,重新定义规模为10
Redim d(i) AS integer
d(i) = i
next i
‘但是,如果你用循环输出这个10个元素,
for i = 1 to 10
print d(i)
next i
会发现只有最后一个元素有数据10,其他都为0
这是因为,用Redim重新定义规模大小时,会将所有元素置0
为了用Redim重新定义规模大小时,保持原来元素的值,就可以使用关键字Preserve
例如:不用Preserve
dim d() as integer
redim d(2) as integer
d(1) = 100
d(2) = 200
redim d(4) as integer
结果原来的d(1)和d(2)全部被设置为0。
例如:使用Preserve
dim d() as integer
redim d(2) as integer
d(1) = 100
d(2) = 200
redim Preserve d(4) as integer
结果原来的d(1)和d(2)保持原来的数据不变。
一般:
'先定义一个不带下标的数组,然后在程序运行过程中,随时随地用ReDim改变数组的规模
Dim d() AS Integer
Dim i AS Integer
for i = 1 to 10
'第1次,重新定义规模为1,第2次,重新定义规模为2,......第10次,重新定义规模为10
Redim d(i) AS integer
d(i) = i
next i
‘但是,如果你用循环输出这个10个元素,
for i = 1 to 10
print d(i)
next i
会发现只有最后一个元素有数据10,其他都为0
这是因为,用Redim重新定义规模大小时,会将所有元素置0
为了用Redim重新定义规模大小时,保持原来元素的值,就可以使用关键字Preserve
例如:不用Preserve
dim d() as integer
redim d(2) as integer
d(1) = 100
d(2) = 200
redim d(4) as integer
结果原来的d(1)和d(2)全部被设置为0。
例如:使用Preserve
dim d() as integer
redim d(2) as integer
d(1) = 100
d(2) = 200
redim Preserve d(4) as integer
结果原来的d(1)和d(2)保持原来的数据不变。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
VB中“Preserve”是系统关键字 配合redim来使用 重定义数组大小后,仍保留原数组内容。举例说明:
如果某班原来有53个学生,新转学来了2个同学,那么座位表就要重排了,重排的方法有两种,一种是全部座位清空,重新排位,即:
ReDim a(1 To 55) As Integer
那么这55个座位现在就是空的,你可以重新安排所有同学(包括新来的)的座位。另一种方法就是原来的53个学生的座位不变,新来的同学排在后面,即:
ReDim Preserve a(1 To 55) As Integer
这时候前面53个座位上坐的还是原来的同学,最后两个座位(即a(54)和a(55))则是空的,你可以安排新来的同学坐到这两个座位上去。
在使用 Preserve 时,只能通过改变上界来改变数组的大小;改变下界则会导致错误。如果将数组改小,则被删除的元素中的数据就会丢失。如果按地址将数组传递给某个过程,那么不要在该过程内重定义该数组的各维的大小。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询