Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays NullReferenceException vb数组_Arrays_Vb.net_Nullreferenceexception - Fatal编程技术网

Arrays NullReferenceException vb数组

Arrays NullReferenceException vb数组,arrays,vb.net,nullreferenceexception,Arrays,Vb.net,Nullreferenceexception,当我尝试运行此代码时,总是出现NullReferenceException错误: Dim startx As Int64 Dim starty As Int64 Dim count As Int64 = 0 Dim Position() As Point startx = 15 starty = 18 Position(count) = New Point(startx, starty) 有人能告诉我为什么这不起作用吗?位置被声明为一个数组,其中包含0项。在最后一行,您试图设置第一个项(索引为

当我尝试运行此代码时,总是出现
NullReferenceException
错误:

Dim startx As Int64
Dim starty As Int64
Dim count As Int64 = 0
Dim Position() As Point
startx = 15
starty = 18
Position(count) = New Point(startx, starty)

有人能告诉我为什么这不起作用吗?

位置
被声明为一个数组,其中包含0项。在最后一行,您试图设置第一个项(索引为0),但由于数组中还没有项,因此将失败

一种解决方案是声明数组具有一个项:

Dim Position(0) As Point
或者,根据需要调整阵列的大小

Dim Position() As Point    

... other code ...

ReDim Preserve Position(0)

您从未初始化过
位置
(例如,
Dim Position()作为点=新点(10){}
)。另外,请看。将所有变量声明为
Integer
Int32
)类型。谢谢。我是.net新手,我不知道这一点。