我一直在尝试为定义如下的对象数组赋值...
Dim englishTextAry As Object(,) = New Object(,) {}
我正在循环访问dataReader并尝试使用以下代码将值分配给此数组....
While rdr.Read()
Dim recID As String = rdr.Item(0)
Dim dataVal As String = rdr.Item(1)
ReDim Preserve englishTextAry(recID, dataVal)
End While
但ReDim在dataVal上抛出的错误不是整数。
我在这里做错了什么?有人能指出我正确的方向吗?
谢谢,
答案 0 :(得分:1)
你会为非少量的行做一些可怕的ReDims。您可以使用Class来保存id-value对和一个列表来保存它们:
Module Module1
Class IdValPair
Property RecId As String
Property DataVal As String
End Class
Sub Main()
Dim myItems As New List(Of IdValPair)
'...
While rdr.Read
myItems.Add(New IdValPair With {.RecId = rdr.Item(0), .DataVal = rdr.Item(1)})
End While
End Sub
End Module
...并回答你的问题,ReDim语句将ReDim的大小数字取为。
答案 1 :(得分:-1)
查看ArrayList对象。我通常使用它来动态添加/获取值,使代码比普通数组容易得多。