ArrayList.AddRange不允许添加另一个数组

时间:2015-05-06 21:49:18

标签: vb.net arraylist nullreferenceexception

当我尝试通过AddRange方法将arrayList2添加到另一个ArraList1(ArraList1为Nothing)时,它正在抛出:

  

NUllUnhandled异常:System.NullReferenceException:对象引用    未设置为对象的实例

Private Sub Fun1(ByVal ArrayList2 As ArrayList)

    Dim ArraList1 As ArrayList = ViewState("Details")

      ArraList1.AddRange(ArrayList2 )

请让我知道如何解决这个问题。甚至尝试过添加功能。但没有运气。

ArraList1.Add(ArrayList2 )

由于

1 个答案:

答案 0 :(得分:1)

问题中显示的上下文不足100%,但我确定97%在此代码运行时ViewState("Details")中没有任何内容。在对对象的任何属性进行操作之前,您需要一个对象实例。如果此时ViewState("Details")为空,通常或正常,则需要检查并创建对象:

Dim ArraList1 As ArrayList = ViewState("Details")
If ArraList1 Is Nothing Then ArraList1 = New ArrayList()
'Don't forget to assign this back to the ViewState. Or better yet, avoid needing to keep lists in memory.

此外,不要使用ArrayLists,也不要在ViewState中存储大量信息(如大型集合)。