2015-06-24 66 views
1

數組我需要插入唯一值一旦進入陣列時不循環像下面的語句(我使用Visual Basic 6.0)插入多個值到VB 6.0

Dim Marks(0 To 9) As Integer = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9,} 

,但它已得到編譯錯誤。上面的聲明應該怎麼改?

+1

簡短的回答:VB6不做數組文字。較長的答案:http://stackoverflow.com/questions/17443632/vb6-defining-a-string-array(是它的字符串,但你可以看到它將如何適用於整數) – CMaster

回答

0

這是我能找到

Dim marks 
marks = Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9) 
+0

這實際上並沒有做你想(相當)。函數'array()'返回一個變量數組。通過聲明('昏暗')標記根本沒有類型,你已經聲明它是一個變體本身。這會讓你容易受到代碼中的所有問題的困擾,因爲這些標記可能根本不是數組,或者它可能包含非整數值。至少,將'dim mark'聲明爲variant()' – CMaster

1

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)