注意:我理解空引用异常是什么,我只是不明白我为什么会这样做。
原件:
我有一个班,SpecialCases。这个类有一个属性DataArray,它是一个数组。
我实例化一个对象,然后我初始化数组,但是当我尝试设置数组的各个元素时,我得到一个空引用异常。
Private Sub btn_AddtoKeyManager_Click(sender As Object, e As EventArgs) Handles btn_AddtoKeyManager.Click
Dim SC_Additem As New SpecialCases
SC_Additem.DataArray() = New String(3) {}
SC_Additem.DataArray() = {cmb_authtypes.SelectedText, txt_URL.Text, txt_Username.Text, txt_password.Text}
End Sub
事实证明我实际上没有理解有关数组的东西,因为我在初始化时尝试设置值并且工作正常:
Private Sub btn_AddtoKeyManager_Click(sender As Object, e As EventArgs) Handles btn_AddtoKeyManager.Click
Dim SC_Additem As New SpecialCases
SC_Additem.DataArray() = New String(3) {cmb_authtypes.SelectedText, txt_URL.Text, txt_Username.Text, txt_password.Text}
End Sub
所以之后:
SC_Additem.DataArray() = New String(3) {}
数组初始化为4个元素,所有元素都没有。
然后我尝试将这些元素中的每一个设置为等于某个值。 数组是空的,但我一直处理带有空元素的数组。
我不是想引用一个空元素。我没有做类似的事情:
SC_Additem.DataArray() = New String(3) {}
aVar = Sc_additem.DataArray(2)
如果我做了类似的事情,那么我会期待一个空引用异常,但我不这样做。
答案 0 :(得分:0)
也许这取决于你的特殊班级。使用Property
代替变量。