數組我需要插入唯一值一旦進入陣列時不循環像下面的語句(我使用Visual Basic 6.0)插入多個值到VB 6.0
Dim Marks(0 To 9) As Integer = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9,}
,但它已得到編譯錯誤。上面的聲明應該怎麼改?
數組我需要插入唯一值一旦進入陣列時不循環像下面的語句(我使用Visual Basic 6.0)插入多個值到VB 6.0
Dim Marks(0 To 9) As Integer = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9,}
,但它已得到編譯錯誤。上面的聲明應該怎麼改?
這是我能找到
Dim marks
marks = Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
這實際上並沒有做你想(相當)。函數'array()'返回一個變量數組。通過聲明('昏暗')標記根本沒有類型,你已經聲明它是一個變體本身。這會讓你容易受到代碼中的所有問題的困擾,因爲這些標記可能根本不是數組,或者它可能包含非整數值。至少,將'dim mark'聲明爲variant()' – CMaster
從Alex K's answer,而是轉換爲int的更簡單的方法:
Function ArrayInt(ParamArray tokens()) As Integer()
ReDim arr(UBound(tokens)) As Integer
Dim i As Long
For i = 0 To UBound(tokens)
arr(i) = tokens(i)
Next
ArrayInt = arr
End Function
用法:
Dim Marks() As Integer
Marks = ArrayInt(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
簡短的回答:VB6不做數組文字。較長的答案:http://stackoverflow.com/questions/17443632/vb6-defining-a-string-array(是它的字符串,但你可以看到它將如何適用於整數) – CMaster