【问题标题】:VB.NET - Array of ArrayListsVB.NET - ArrayLists 数组
【发布时间】:2012-10-31 15:25:21
【问题描述】:

我使用以下代码声明了一个包含 88 个数组列表的数组:

Dim Data_FRONT(88) As ArrayList

然后我尝试使用以下代码向其中添加传入数据:

Dim Data_In(88) As Double
For i = 0 To 87
    Data_In(i) = 15 ' Hard-coding just to test it
Next

' ...

' Then later in the code after some processing 
For i = 0 To 87
    Data_FRONT(i).Add(Data_In(i))        
Next

我收到以下运行时错误:“对象引用未设置为对象的实例。”

我什至尝试过这样做:

For i = 0 to 87
    Data_FRONT(i).Add(15) ' Hard-coding to test it
Next

我仍然得到那个错误。有什么想法吗?

【问题讨论】:

    标签: vb.net visual-studio-2010 arraylist vb.net-2010


    【解决方案1】:

    你需要实际初始化每个数组列表:

    For i = 0 To 87
        Data_FRONT(i) = new ArrayList() ' Initialize each ArrayList
        Data_FRONT(i).Add(Data_In(i))        
    Next
    

    话虽如此,如果你总是存储一个双精度数组,为什么不只创建一个多维数组呢?

    Dim Data(88,88) As Double = new Double(88, 88)
    

    【讨论】:

    • 谢谢!我实际上是从 88 个不同的传感器收集数据,所以我希望数据结构的大小能够动态增加。
    • @nsax91 你应该考虑使用List(Of T),而不是ArrayList。
    • 用Lists代替ArrayLists有什么好处?
    • @nsax91 类型安全 + 速度(没有值类型的装箱,例如 double)
    猜你喜欢
    • 1970-01-01
    • 2019-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-16
    • 2013-01-30
    • 2023-03-25
    相关资源
    最近更新 更多