vba redim用法 vb中的redim是什么意思?
vb中的redim是什么意思?ReDim為數(shù)組變量重新分配存儲(chǔ)空間??蛇x的修改器preserve用于在僅更改最后一個(gè)維度的大小時(shí)保留現(xiàn)有數(shù)組中的數(shù)據(jù)。使用ReDim語(yǔ)句更改已聲明數(shù)組的一個(gè)或多個(gè)維度的
vb中的redim是什么意思?
ReDim為數(shù)組變量重新分配存儲(chǔ)空間??蛇x的修改器preserve用于在僅更改最后一個(gè)維度的大小時(shí)保留現(xiàn)有數(shù)組中的數(shù)據(jù)。
使用ReDim語(yǔ)句更改已聲明數(shù)組的一個(gè)或多個(gè)維度的大小。如果您有一個(gè)大數(shù)組,并且不再需要它的某些元素,那么ReDim可以通過(guò)減小數(shù)組的大小來(lái)釋放內(nèi)存。另一方面,如果代碼確定數(shù)組需要元素,ReDim可以添加更多元素。
ReDim語(yǔ)句僅適用于陣列。它對(duì)標(biāo)量(僅包含單個(gè)值的變量)、集合或結(jié)構(gòu)無(wú)效。
ReDim只能在流程級(jí)別使用。這意味著變量的“聲明上下文”必須是過(guò)程,而不是源文件、命名空間、接口、類、結(jié)構(gòu)、模塊或塊。
例如:
有一個(gè)字節(jié)數(shù)組a。如果我們知道這個(gè)數(shù)組的最大限制只能是4,我們使用dim
dim a作為字節(jié)(4)
但是如果我們不能預(yù)先確定它的大小或者需要在運(yùn)行時(shí)更改它的大小,我們需要使用動(dòng)態(tài)數(shù)組
VB中ReDim語(yǔ)句可以改變數(shù)組的維數(shù)和類型嗎?
redimpreserve是:生成一個(gè)新數(shù)組-之前數(shù)組的所有元素都將被復(fù)制到新數(shù)組中,所以只能在原來(lái)數(shù)組的末尾添加新元素。另外,如果不改變上一個(gè)維度,會(huì)帶來(lái)一個(gè)不可知的問(wèn)題:新維度的下一個(gè)維度數(shù)組無(wú)法定義,VB不知道新維度包含什么,包含多少東西,如何為您定義,所以是不允許的。最終,不存在這樣的問(wèn)題。
VB中ReDim語(yǔ)句可以改變數(shù)組的維數(shù)和類型嗎?
不,ReDim的格式是ReDim[preserve]name(boundlist)。它只能改變數(shù)組的大小,不能改變數(shù)組的類型
如果數(shù)組的維數(shù)沒(méi)有事先確定,就不能詳細(xì)確定。如果字符串的長(zhǎng)度不確定,可以采用以下方法:Dim a()as integer。。。。。N=長(zhǎng)度(text1)ReDim a(N)