我在具有值的变量上获取System.NullReferenceException

时间:2019-07-26 20:59:05

标签: vb.net

我正在将名为aryRowOne()的数组设置为{1、6、10、15、17、22、11},当我尝试使用aryRowOne(1)时,它会返回NullReferenceException。

首先,我尝试使消息框显示值以显示它在什么时候损坏了,这使问题变得不太有意义。在给变量赋值6之后,它立即显示一个消息框,显示6。然后立即崩溃,提示它没有值。

这位于SetVars()子目录中的“ Variables.vb”代码文件中

aryRowOne = {1, 6, 10, 15, 17, 22, 11}

为其提供值。

然后运行它

MessageBox.Show("aryRowOne(1) = " & aryRowOne(1))

然后,当用户单击按钮时,将在CreateDebug()子窗体的“ Debug.vb”上运行。它显示了一个带有此消息的消息框

MessageBox.Show("CreateLog() is running!")

显示它正在运行。

到达此行会崩溃

MessageBox.Show("aryRowOne(1) = " & VariablesTable.aryRowOne(1))

有...

  

System.NullReferenceException:'对象引用未设置为   对象的实例。'

     

VariablesTable.aryRowOne没什么。

它应该没有崩溃。我正在将其写入文本文件,但它不会让我使用变量说什么都没有。

感谢所有提供帮助的人。这困扰了我好几天了。

1 个答案:

答案 0 :(得分:0)

该错误消息会告诉您所有信息:VariablesTable.aryRowOne未初始化。也许您有两个在不同范围内具有相同名称的变量而没有意识到?您有Option Explicit On吗?它还有助于逐步调试器,并了解设置/清除此变量的时间。