【问题标题】:for each - NullReferenceException对于每个 - NullReferenceException
【发布时间】:2016-01-23 15:58:26
【问题描述】:
 Public containerInfoParam As Specialized.NameValueCollection

 offlineContainerID = offlineContainerID.ToString.Substring(4)
 Dim offlineContainerIDArray As Array =  offlineContainerID.ToString.Split(";")

 For Each i As String In offlineContainerIDArray
    containerInfoParam.Add("id", i)
 Next

这就是我尝试为数组中的每个条目添加一个参数的方式,因为我不知道它会有多少条目。每次我尝试它都会给我一个 NullReferenceException。我究竟做错了什么? 参数是一个Specialized.NameValueCollection

编辑:这就是数组初始化和填充条目的方式。 offlineContainerID 填充了以“1 -”开头的 30 位 ID(这就是 Substring(4) 和 ID 用分号 (;) 分隔的原因。 我知道实现它可能不是最好的,还在学习:)

【问题讨论】:

  • 数组是如何初始化的?请上传更多代码,我们可以提供帮助。
  • 如果它们不包含分号并且您要拆分分号,我猜您将不会获得任何数据。拆分“-”或“1 -”或使用任何标点符号。
  • 拆分 ID 是有效的,填充数组也是如此。只是将它添加为参数给了我例外

标签: loops for-loop null each nullreferenceexception


【解决方案1】:

公共 containerInfoParam 作为新的 Specialized.NameValueCollection

我花了一段时间才发现 new 不见了。一般来说,尝试异常处理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-20
    • 2018-11-07
    • 2010-12-25
    • 1970-01-01
    • 1970-01-01
    • 2015-11-02
    • 2014-03-28
    • 2013-11-22
    相关资源
    最近更新 更多