类型' System.NullReferenceException'的未处理异常 - 结构

时间:2014-08-20 08:10:23

标签: .net arrays vb.net runtime-error structure

我有一个简单的问题,但即使使用互联网也无法解决问题......我不知道出了什么问题。

我定义了一个变量:

Dim paczka(1) As SenditAPI.singleSizesData 

singleSizesData 是一个结构,我需要一个这种结构的数组

然后我尝试:

paczka(0).width = 10
paczka(0).height = 10
paczka(0).depth = 10
paczka(0).weight = 4
paczka(0).COD = 0
paczka(0).INS = 5
paczka(0).content = "Test"

我得到" 未处理的类型' System.NullReferenceException' "错误。我真的不知道为什么。

1 个答案:

答案 0 :(得分:2)

你说SenditAPI.singleSizesData是一个结构,但为了得到你遇到的错误,它必须是一个类,因为显然paczka(0)为空,结构不能为空。所以问题是你创建了一个带有空引用的数组,然后你尝试取消引用导致异常。

在分配其成员之前,您必须创建一个新的SenditAPI.singleSizesData实例:

paczka(0) = new SenditAPI.singleSizesData
paczka(0).width = 10
paczka(0).height = 10
paczka(0).depth = 10
paczka(0).weight = 4
paczka(0).COD = 0
paczka(0).INS = 5
paczka(0).content = "Test"