MSDN有個錯誤是"
不能給數(shù)組賦值",即不能將整個數(shù)組指定給另一個數(shù)組.
而實際上有時行,有時又不行,剛剛寫代碼時又遇到了,干脆試了一下,結(jié)果是,"
被賦值數(shù)組需要是動態(tài)數(shù)組".
對于類型,源數(shù)組與目標(biāo)數(shù)組需要一致,即使是自定義類型也可以.
以下說明一下可以賦值的情況:
[codes=vb]Private Type MyType
kk(10)As Long
End Type
Dim I() As MyType, J(100) As MyType
I =J 'I是動態(tài)數(shù)組,成立[/codes]
[codes=vb]Dim I() As Long, J(100) As Long
I =J 'I是動態(tài)數(shù)組,成立[/codes]
如果目標(biāo)數(shù)組是固定數(shù)組,那么就不能完成賦值,會得到編譯器的一個"不能給數(shù)組賦值"的編譯錯誤:
[codes=vb]Dim I(100) As Long, J(100) As Long
I =J '編譯錯誤:不能給數(shù)組賦值[/codes]
沒有考慮是否有其它情況.
我只需要找到可行的這個方案即可.
以下是MSDN中的錯誤提示:
不能給數(shù)組賦值
數(shù)組中的各元素,必須個別指定其值。這個錯誤的起因與解決方法如下所示:
試圖將一個值指定給一個數(shù)組變量,但沒有指定要將這個值指定給哪個元素。
要設(shè)置數(shù)組中的一個元素,必須指定此元素的下標(biāo)。例如,若MyArray 為一個整型數(shù)組,則表達(dá)式 MyArray = 5 是無效的,下列的表達(dá)式才是正確的:
MyArray(UBound(MyArray))= 5
試圖將整個數(shù)組指定給另一個數(shù)組。例如,假如Arr1 是一個數(shù)組,Arr2 是另一個數(shù)組,則下列兩個賦值都是無效的:
Arr1=Arr2 '無效的賦值。
Arr1()=Arr2() '無效的賦值。
想要將一個數(shù)組賦值給另一個數(shù)組,必須個別賦值元素。例如:
Forcount = LBound(Arr2) to UBound(Arr2)
Arr1(count)= Arr2(count)
Nextcount
請注意,可以將整個數(shù)組放在一個Variant 中,使一個 variant 變量包含整個數(shù)組:
DimMyArr As Variant
MyVar= Arr2()
您可以使用與正常數(shù)組相同的下標(biāo),來引用在variant 中的數(shù)組元素,例如:
MyVar(3)= MyVar(1) + MyVar(5)
詳細(xì)信息,請先選取有疑問的項目,然后按下 F1 鍵 。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。